我没有想到在指定日期之后每天运行程序以确定使用crontab。
我尝试了下面的命令,但它没有工作。
python3 $(date=$(date +%Y%m%d); if [ $date -gt 20180315 ]; then echo '--version'; else echo '/home/raman/Desktop/testp.py '; fi)
其中 20180315 =这是我必须运行程序后的指定日期。
答案 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