在 debian 下以 root 身份(使用 su -)
首先,服务器内部已经有一个作业(由其他人完成),当我输入
crontab -e
我明白了
# m h dom mon dow command
* * * * * sh /opt/somescript.sh
它执行 exery 分钟。
无论如何,我正在尝试向 crontab 添加一个计划作业:我想尝试添加第二个作业,该作业将于每天上午 00:30 执行。
30 0 * * * sh /opt/newscript.sh
我有两个问题:
- 我无法使用
crontab -e
- 我的新脚本调度正确吗?
答案1
你的日程安排是正确的。我不确定你为什么不能编辑 crontab。你收到任何错误消息了吗?
答案2
如果你得到类似这样的信息:
crontab: you are not authorized to use cron. Sorry.
将您的用户名添加到/etc/cron.allow
(或/etc/cron.d/cron.allow
,取决于您的设置)。
你没有提到你正在运行什么系统,但一些商业 Unixen 默认使用ed
作为编辑器,而不是像这样合理的编辑器vi
。设置EDITOR=vi
并重试:
$ EDITOR=vi crontab -e
它将用作vi
您的编辑器。替换vi
为emacs
或甚至 [不寒而栗] pico
,只要您觉得舒服即可。
另一种选择是使用以下文件形式crontab
:
$ crontab /tmp/ctab
这会将文件内容分配/tmp/ctab
给当前用户的 crontab。然后,您可以/tmp/ctab
使用任何您喜欢的可以保存为纯文本的编辑器来编辑(名称并不重要):vi
,emacs
,Xcode
,eclipse
, 等等。首先,执行:
$ crontab -l > /tmp/ctab
要获取当前 crontab 的副本,以便可以向其中添加内容(表单crontab FILE
替换当前 crontab),然后执行以下操作:
$ crontab /tmp/ctab
导入 的内容/tmp/ctab
。