- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用以下 ant 脚本删除远程计算机上的 crontab:
<target name="remove-crontab">
<echo message="Removing Crontab" />
<sshexec host="${host}" username="${username}" password="${password}" command="crontab -r" trust="true" failonerror="false" />
</target>
当我运行脚本时,即使用户名下有一个 crontab,我也得到 no crontab for username
我唯一的猜测是当通过 SSH 连接时一些特权被占用。有人知道这是怎么回事吗?
谢谢。
最佳答案
确保在 /var/spool/cron/
中存在该用户的 crontab 文件并检查其所有者/组和权限是否正确:
[ 09:59 root@hozbox ~ ]# ll /var/spool/cron/
total 12K
-rw------- 1 jon root 601 May 2 2011 jon
-rw------- 1 root root 460 Aug 31 2010 root
-rw------- 1 tomcat root 601 Nov 17 2010 tomcat
您的问题的解决方案可能是通过将/dev/null 定向到 crontab 而不是使用 -r
来清空 crontab。 .这将确保 cron 作业被删除,但 crontab 文件不会从/var/spool/cron 中删除(-r 选项只会删除此文件,这就是为什么你第二次运行 crontab -r 时,它说没有 crontab对于用户):
[ 10:40 jon@hozbox ~ ]$ ssh jared@localhost "crontab -r"
no crontab for jared
[ 10:40 jon@hozbox ~ ]$ ssh jared@localhost "crontab < /dev/null"
[ 10:40 jon@hozbox ~ ]$ ssh jared@localhost "crontab -r"
[ 10:40 jon@hozbox ~ ]$ ssh jared@localhost "crontab -r"
no crontab for jared
:
<target name="remove-crontab">
<echo message="Removing Crontab" />
<sshexec host="${host}" username="${username}" password="${password}" command="crontab < /dev/null" trust="true" failonerror="false" />
</target>
我不确定,但是 command="crontab < /dev/null"
可能需要 command="crontab < /dev/null"
.
usage: crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]
(default operation is replace, per 1003.2)
-e (edit user's crontab)
-l (list user's crontab)
-r (delete user's crontab)
-i (prompt before deleting user's crontab)
-s (selinux context)
关于linux - 用ant sshexec 远程编辑crontab 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8028897/
我只是想使用 ant sshexec 任务连接到远程主机。我在 ant lib 目录中有所需的 jar,并且能够使用 putty 连接到远程主机。 这就是我运行 ssh 的方式 似乎存在与服务器不
我无法弄清楚 commandResource 的实际外观。我见过的唯一例子是下面列出的 Apache's page (不是很有帮助) 所以我的作品看起来像这样 如何设计Commands.txt的格
我在公共(public)服务器上有一个可供多个用户使用的 ant 脚本。我想安全地将密码输入脚本并将其用于多个目标。以下代码通过输入获取密码,但变量未传递给 sshexec 任务。 这行得通还是有更好
基本上我在 ant 目标中有 2 个 sshexec 任务,一个接一个。第一个在一台机器上启动消息发送器,第二个在另一台机器上启动消息接收器。我假设 sshexec 任务将发出运行消息发送方的命令,然
我正在使用SSHEXEC ant任务对远程linux盒运行SSH脚本。 在我尝试调用提示用户输入的ksh脚本之前,此方法一直有效。该脚本更改当前用户(如su)。它提示用户输入change_reques
我在 ant 构建文件中有一个任务 sshexec。此任务显示我希望执行的命令的输出。我的问题是:如何不显示输出? 这是我的任务: 提前致谢。 最佳答案 您可以使用自定义记录器使 sshexec 任
我正在使用 SSHExec ant 任务连接到远程主机,并且我依赖于远程主机上设置的环境变量以便能够成功执行一些命令。 使用任务环境。输出的变量与我使用 SSH 客户端登录时得到的变量不一样。 我怎
我是这个主题的新手,Apache Ant,我想使用 ant sshexec 任务在远程计算机上运行命令。这是我本科论文的一部分。我必须尽快解决这个问题。有一个这样的目标: 我使用ant版
我在“etc/environment”中创建了一个名为“COUNTER”的环境变量,并为其分配了值 0。我想通过使用 ant 脚本的 SSHEXEC 任务来增加并保留其值。我编写了以下代码来增加其值:
我正在使用以下 ant 脚本删除远程计算机上的 crontab: 当我运行脚本时,即使用户名下有一个 crontab,我也得到 no crontab for username
我在执行 SSHEXEC ant 任务时遇到问题。 我正在尝试连接到远程主机并执行命令。 我正在尝试使用“ key 文件”,因此我不需要使用用户/密码并遇到问题。 我可以让它连接,但提示: [sshe
我正在使用 sshexec,它依赖于 jsch-0.1.48.jar。我不能只把它放到 ant/lib 目录中,因为其他希望使用相同构建脚本的用户必须先在他们的机器上进行配置,然后才能这样做。 我想要
我的问题是,ant 任务的输出总是在开头有一些 [ssh-exec] 信息文本。我可以抑制/禁用它吗? 到目前为止我的代码: def ant = new AntBuilder() // .... va
我试图解决问题并使用 ANT/SSHEXEC 命令。 设置: Solaris 服务器使用 NIS 和基于角色的用户进行运行时事件。 您不能直接登录到 RBAC 帐户,您必须以个人用户身份连接并使用 s
我想在我的 gradle 自定义任务中使用 Apache ant sshexec 任务。问题是此任务不起作用(输出未显示在控制台中,并且未执行 sshexec 操作)。这是我使用它的方式: confi
我试图在我的 OSX 机器上使用 ANT 的 sshexec 任务,当我尝试运行它时,我得到下面列出的错误。我已经从以下位置下载了 jsch jar 文件:http://www.jcraft.com/
我有一个 ant 目标,我成功地使用 sshexec-task 在 OpenSuse 11 上使用 tomcat 安装服务器。 当我尝试运行启动新安装的服务器的脚本时,我的问题就来了。我需要以 roo
我的问题类似于这里提出的问题: Ant scp task failure BUILD FAILED com.jcraft.jsch.JSchException: reject HostKey: ...
我在 Linux 机器的 ANT 脚本中使用 MAVEN 命令, 这是我的 ant 脚本,它调用 maven.sh 文件来清理和安装sshexec host="**"username=""passwo
从我的 (Windows) 桌面或(Windows 或 Unix)Jenkins 服务器(我相信它使用相同的底层 JSch 技术),我似乎无法按需要调用 Tomcat bin 目录中的 startup
我是一名优秀的程序员,十分优秀!