避免特定脚本创建重复的CRON条目

时间:2016-06-28 18:25:56

标签: bash shell cron

shell函数下面以编​​程方式创建一个CRON条目。

function create_cron(){
    echo ""
    echo "Create CRON entry"
    #write out current crontab
    crontab -l > allcrons
    #echo new cron into cron file
    echo "0 1 * * * python /opt/EO/Ava/utils/xtr_test_aggregation.py" >> allcrons
    display_all_crons allcrons
    #install new cron file
    crontab allcrons
    rm allcrons
}

如果脚本运行两次,上述功能的唯一问题是可能会重复创建CRON条目。我想创建一个CRON作业,只要它不存在。请注意,如果已经有重复的条目,我想留在那里。我只是对这个脚本专门创建的重复条目感到困扰。

1 个答案:

答案 0 :(得分:2)

您需要查看crontab并检查您的条目是否已经存在,如果它不仅仅是您添加它:

function create_cron(){
    echo ""
    echo "Create CRON entry"
    new_entry="0 1 * * * python /opt/EO/Ava/utils/xtr_test_aggregation.py"
    if ! crontab -l | fgrep -q "$new_entry"; then
        #write out current crontab
        crontab -l > allcrons
        #echo new cron into cron file
        echo "$new_entry" >> allcrons
        display_all_crons allcrons
        #install new cron file
        crontab allcrons
        rm allcrons
    fi
}