在 crontab 中使用链接

在 crontab 中使用链接

我可以使用文件链接来设置 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/

更多信息 - 如何在 Linux 下向 cron 添加作业

示例:运行备份 cron 作业脚本

如果你希望有一个名为/root/backup.sh 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。

相关内容