我可以使用文件链接来设置 crontab 作业吗?
我尝试了以下操作:
$ crontab -e
$ 10***** /path-to-link/
答案1
是的,你可以在 crontabs 中使用文件链接 - 条件与往常相同,例如
- 链接解析的文件必须是可执行的
- 它必须能够在提供的有限环境中运行
cron
事实上,许多常见的可执行命令都是符号链接 - 甚至/bin/sh
它自己:
$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Jan 11 13:58 /bin/sh -> dash
例如
# m h dom mon dow command
40 * * * * /bin/sh -c 'echo "Hello from $0 (which is actually $(readlink -f $0))"' > /home/steeldriver/cron.out
结果是
$ cat ~/cron.out
Hello from /bin/sh (which is actually /bin/dash)
答案2
- 你应该在
*
- 另外正如@steeldriver 提到的 - 你有太多字段
添加空格并删除多余的部分*
应该可以:
10 * * * * /path-to-link/
示例:运行备份 cron 作业脚本
如果你希望有一个名为
/root/backup.s
h run 的脚本每天凌晨 3 点,您的 crontab 条目将如下所示。首先,通过运行以下命令安装您的 cronjob:crontab -e
附加以下条目:
0 3 * * * /root/backup.sh
保存并关闭文件。
如何使用运算符?
运算符允许您在字段中指定多个值。共有三种运算符:
- 星号 (*) :此运算符指定字段的所有可能值。例如,小时时间字段中的星号相当于每小时,月份字段中的星号相当于每月。
- 逗号(,):此运算符指定值列表,例如:“1,5,10,15,20, 25”。
- 破折号(-):此运算符指定值的范围,例如:“5-15”天,相当于使用逗号运算符输入“5,6,7,8,9,….,13,14,15”。
- 分隔符 (/) :此运算符指定步长值,例如:“0-23/”可用于小时字段,以指定每隔一小时执行一次命令。星号后也可以使用步长,因此如果您想表示每两小时执行一次,只需使用 */2。