gpt4 book ai didi

linux - 如果已经存在,如何避免设置 cron

转载 作者:太空宇宙 更新时间:2023-11-04 12:08:27 24 4
gpt4 key购买 nike

我正在使用以下命令设置一个 cron

crontab -l | { 猫; echo -e "#Adding cron task to execute imz script\n0 */1 * * */usr/local/sbin/generate_imz_report.sh"; } |定时任务-

通过 shell 脚本。每次我执行脚本时,它都会为此脚本添加一个新条目

xyx.local: ~ # crontab -l
#Adding cron task to execute imz script
0 */1 * * * /usr/local/sbin/generate_imz_report.sh
#Adding cron task to execute imz script
0 */1 * * * /usr/local/sbin/generate_imz_report.sh
#Adding cron task to execute imz script
0 */1 * * * /usr/local/sbin/generate_imz_report.sh
#Adding cron task to execute imz script
0 */1 * * * /usr/local/sbin/generate_imz_report.sh
#Adding cron task to execute imz script
0 */1 * * * /usr/local/sbin/generate_imz_report.sh
#Adding cron task to execute imz script
0 */1 * * * /usr/local/sbin/generate_imz_report.sh

为了避免这种情况,我尝试了以下方法

grep '#Adding cron task to execute imz script'/etc/crontab ||定时任务-l | { 猫; echo -e "#Adding cron task to execute imz script\n0 */1 * * */usr/local/sbin/generate_imz_report.sh"; } |定时任务-

但这行不通。如果已存在于 shell 脚本中,如何避免添加 cron 条目?

最佳答案

如果要添加的 cron 作业已经存在,则需要检查 cron 文件

SCRIPT="generate_imz_report.sh"
if crontab -l | grep $SCRIPT > /dev/null ; then
echo "Cron job already installed."
else
crontab -l > newcronjobs # Write out old crontab
echo "0 */1 * * * /usr/local/sbin/$SCRIPT" >> newcronjobs # Append new cron job into cron file
crontab newcronjobs # Install new cron file
rm newcronjobs
echo "New cron job is added to crontab!!"
fi

关于linux - 如果已经存在,如何避免设置 cron,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49793799/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com