微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – 使用bash脚本安装crontab

我已经创建了一个脚本来在crontab上安装两个脚本.

#!/bin/bash

 sudo crontab -l > mycron
 #echo new cron into cron file

 echo "*/05 * * * * bash /mnt/md0/capture/delete_old_pcap.sh" >> mycron #schedule the delete script
 echo "*/12 * * * * bash  /mnt/md0/capture/merge_pcap.sh" >> mycron     #schedule the merge script

#install new cron file
 crontab mycron
rm mycron

脚本运行,并将两行添加到crontab.但是如果我再次运行脚本,它会再次添加这些行,因此我将有四行说同样的东西.我希望安装脚本能够运行,插入到crontab的行不会重复.我怎样才能做到这一点

解决方法:

我建议在crontab上使用/etc/cron.d.

您可以将文件放在/etc/cron.d中,其行为类似于crontab条目.虽然格式略有不同.

例如
/etc/cron.d/pcap:

*/05 * * * * root bash /mnt/md0/capture/delete_old_pcap.sh
*/12 * * * * root bash  /mnt/md0/capture/merge_pcap.sh

格式的不同之处在于添加用户以在时间规范之后运行作业.

现在您可以简单地检查文件是否存在,如果您覆盖它,则无关紧要.

请注意,您的cron守护程序可能没有/etc/cron.d.我不知道哪个cron守护进程有它,但是vixie cron是linux上的标准cron守护进程,它确实如此.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐