linux - 是否可以设置一个 crontab 以使用不同的参数运行以供下次运行?
问题描述
我目前每 4 小时在 crontab 中运行一个脚本。通常它使用以下设置运行:
python3 -u script.py -s -q --load=ims | tee -a script.log
是否可以说“嘿 crontab,下次运行时使用--redo
python 脚本上的标志,然后照常继续”。
所以它会运行该条目python3 -u script.py -s -q --load=ims --redo | tee -a script.log
,然后继续正常运行
解决方案
crontab 目前似乎不支持此功能。
或者,您可以使用该at
命令在特定时间运行命令。例如:
at> python3 -u script.py -s -q --load=ims --redo | tee -a script.log
at> ^D
这将在特定的 12:00 使用该参数运行
另一种选择是创建一个 Bash 文件,该文件将在下一次 crontab 运行之前修改 crontab 条目,然后在 crontab 启动脚本后修复它:
crontab -l | grep -v 'python3 -u script.py -s -q --load=ims' | crontab -
(crontab -l ; echo "(crontab -l ; echo "* */4 * * * python3 -u script.py -s -q --load=ims --redo | tee -a script.log") | crontab -") | crontab -
sleep 5m
crontab -l | grep -v 'python3 -u script.py -s -q --load=ims --redo' | crontab -
(crontab -l ; echo "(crontab -l ; echo "* */4 * * * python3 -u script.py -s -q --load=ims | tee -a script.log") | crontab -") | crontab -
这将找到并删除旧条目,添加一个带有标志的新条目,然后休眠 5 分钟。
然后它将找到新条目并将其删除,然后将其替换为旧条目
推荐阅读
- javascript - 页面重新加载时本地存储中的数据丢失
- java - super() 只能从子类构造函数中调用吗?| 爪哇
- php - 无法解决未捕获的 Swift_TransportException
- javascript - 如何在 webpag 上的外部 javascript 中检索函数的返回值,最好使用 python + selenium?
- php - 如何使用 php pear mailer 将 xml 字符串附加到电子邮件中?
- angular - 使用角度的并行 API 调用
- lua - 检测 Lua 中嵌套表的所有更改
- regex - grep mac 地址,以句点分隔
- python - Pytorch:计算精度?
- react-native - 应用程序处于完全状态时的通知声音延迟