本文介绍了被Bash /壳牌启用crontab的/禁用任务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有没有一种方法来启用和禁用使用bash /壳牌crontab的任务?
因此,当用户开始服务器1,它可使服务器1 crontab的线等。
并且当用户停止服务器1,在服务器1 crontab的线获得禁用(#)。
这是可能的,怎么了?
在此先感谢
* / 1 * * * *服务器1检查
* / 1 * * * *服务器2检查
* / 1 * * * *服务器3检查
解决方案
SERVERNUM = $ 1
要启用:
的crontab -l | SED/^#.*Server $ SERVERNUM支票/ S / ^#//| crontab中 -
要禁用:
的crontab -l | SED/^[^#].*Server $ SERVERNUM支票/ S / ^ /#/| crontab中 -
成绩单:
barmar @ $开发的crontab -l
* / 1 * * * *服务器1检查
* / 1 * * * *服务器2检查
* / 1 * * * *服务器3检查
barmar @ $开发的crontab -l | SED/^[^#].*Server 1支票/ S / ^ /#/'| crontab中 -
barmar @ $开发的crontab -l
#* / 1 * * * *服务器1检查
* / 1 * * * *服务器2检查
* / 1 * * * *服务器3检查
barmar @ $开发的crontab -l | SED/^#.*Server 1支票/ S / ^#//'| crontab中 -
barmar @ $开发的crontab -l
* / 1 * * * *服务器1检查
* / 1 * * * *服务器2检查
* / 1 * * * *服务器3检查
Is there a way to enable and disable Crontab tasks using Bash/Shell?
So when the user starts Server 1, it will enable the Server 1 Crontab line and so on.And when the user stops Server 1, the Server 1 Crontab line get disabled (#).Is this possible and how?
Thanks in advance
*/1 * * * * Server 1 check
*/1 * * * * Server 2 check
*/1 * * * * Server 3 check
解决方案
SERVERNUM=$1
To enable:
crontab -l | sed "/^#.*Server $SERVERNUM check/s/^#//" | crontab -
To disable:
crontab -l | sed "/^[^#].*Server $SERVERNUM check/s/^/#/" | crontab -
Transcript:
barmar@dev$ crontab -l
*/1 * * * * Server 1 check
*/1 * * * * Server 2 check
*/1 * * * * Server 3 check
barmar@dev$ crontab -l | sed '/^[^#].*Server 1 check/s/^/#/' | crontab -
barmar@dev$ crontab -l
#*/1 * * * * Server 1 check
*/1 * * * * Server 2 check
*/1 * * * * Server 3 check
barmar@dev$ crontab -l | sed '/^#.*Server 1 check/s/^#//' | crontab -
barmar@dev$ crontab -l
*/1 * * * * Server 1 check
*/1 * * * * Server 2 check
*/1 * * * * Server 3 check
这篇关于被Bash /壳牌启用crontab的/禁用任务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!