如何在指定日期后每天设置crontab运行?

时间:2018-03-15 07:24:49

标签: shell cron

我没有想到在指定日期之后每天运行程序以确定使用crontab。

我尝试了下面的命令,但它没有工作。

python3 $(date=$(date +%Y%m%d); if [ $date -gt 20180315 ]; then echo '--version'; else echo '/home/raman/Desktop/testp.py '; fi)

其中  20180315 =这是我必须运行程序后的指定日期。

1 个答案:

答案 0 :(得分:0)

解决方案是将日期转换为秒。使用下面的代码创建一个bash脚本(比如runPyAfterDate.sh)也更好,并将其保存在合适的目录中(我建议mkdir ~/cronJobs)。

runPyAfterDate.sh的内容

#!/bin/sh
after=$(date -d 20180315 +%s); # 1521052200
curr=$(date +%s);  # currently 1521100701 
if [ $curr -gt $after  ]; then 
    python path/to/script.py; 
fi;

别忘了把它变成可执行文件:

sudo chmod +x runPyAfterDate.sh

在crontab中,您应该输入以下内容:

@daily ~/cronJobs/runPyAfterDate.sh

参考链接:https://unix.stackexchange.com/questions/84381/how-to-compare-two-dates-in-a-shell