如何防止重复输入创建cron作业?

时间:2015-02-18 14:18:47

标签: linux shell unix cron cron-task

这里是以下用于成功创建cron作业的代码,但我需要防止重复输入,以便下次我尝试为同一个文件创建cron作业。我需要覆盖现有的cron作业

 #!/bin/bash
    crontab -l > cd3.new
    file1="/home/admin/Desktop/n_com.sh -EI"
    file2="/home/admin/Desktop/com.sh -NI"
    file3="/home/admin/Desktop/fcom.sh -EF"
    file4="/home/admin/Desktop/fcm.sh -NF"
    echo "$1 $2 $3 $4 $5 $file1" >> cd3.new
    echo "$6 $7 $8 $9 ${10} $file2" >> cd3.new
    echo "${11} ${12} ${13} ${14} ${15} $file3" >> cd3.new
    echo "${16} ${17} ${18} ${19} ${20} $file4" >> cd3.new
    cat cd3.new
    crontab cd3.new

1 个答案:

答案 0 :(得分:0)

我喜欢为每个"期间"设置目录的想法。 of cron,并使用run-parts来执行它们。更新只需要对新的cron目录进行rsync,并且没有机会搞乱crontabs。

然后我设置目录和crontab:

# Run hourly, daily, weekly, monthly and yearly tasks for axon
00  0 * * * run-parts /etc/cron/midnight >/dev/null 2>&1
01  * * * * run-parts /etc/cron/hourly   >/dev/null 2>&1
02  1 * * * run-parts /etc/cron/daily    >/dev/null 2>&1
55 23 * * * run-parts /etc/cron/dailyend >/dev/null 2>&1
45  2 * * 6 run-parts /etc/cron/weekly   >/dev/null 2>&1
02  0 1 * * run-parts /etc/cron/monthly  >/dev/null 2>&1
03  0 1 1 * run-parts /etc/cron/yearly   >/dev/null 2>&1