bash -x shell脚本.sh 调试脚本,可以看到整个脚本的执行过程
sh -x shell脚本.sh
sh 只输出结果
--------------------------------------------------------
#!/bin/bash
[[ x$(pidof keepalived) != x ]] || service keepalived restart
crontab -e
*/5 * * * * . /root/keepalived.sh
pidof 是Linux下用来查找正在运行进程的进程ID (PID)。 在其他的操作系统中, 大部分使用pgrep 和 ps 来替代。
pidof 一般通过符号链接到“killall5"实现其功能。
$(pidof keepalived) 命令替换
左边附加x,即用来测试该命令替换的结果是否为空
如果当前的进程存在,则pidof keepalived会返回pid 也即 x$(pidof keepalived)非空
[[ x$(pidof keepalived) != x ]] 进程的pid非空 ,也即该进程存在
------------------------------------------------
Linux下自动ping指定ip,若出错自动重启网卡的脚本
crontab -e
*/5 * * * * /root/keepalived.sh
[root@localhost perl]# less network_reboot.sh
#!/bin/sh
if ! ping -c 5 192.168.1.49
then
echo "The network is down! Now try restarting!" | service network restart
fi
----------------------------------
/usr/local/webserver/php/bin/php /data0/htdocs/www/manage/coupon/r.php
Crontab的格式
第1列分钟1~59
第2列小时1~23(0表示子夜)
第3列日1~31
第4列月1~12
第5列星期0~6(0表示星期天)
第6列要运行的命令
下面是crontab的格式:
分 时 日 月 星期 要运行的命令
这里有crontab文件条目的一些例子:
30 21 * * * /usr/local/apache/bin/apachectl restart
上面的例子表示每晚的21:30重启apache。
45 4 1,10,22 * * /usr/local/apache/bin/apachectl restart
上面的例子表示每月1、10、22日的4 : 45重启apache。
10 1 * * 6,0 /usr/local/apache/bin/apachectl restart
上面的例子表示每周六、周日的1 : 10重启apache。
0,30 18-23 * * * /usr/local/apache/bin/apachectl restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。
0 23 * * 6 /usr/local/apache/bin/apachectl restart
上面的例子表示每星期六的11 : 00 pm重启apache。
* */1 * * * /usr/local/apache/bin/apachectl restart
每一小时重启apache
* 23-7/1 * * * /usr/local/apache/bin/apachectl restart
晚上11点到早上7点之间,每隔一小时重启apache
0 11 4 * mon-wed /usr/local/apache/bin/apachectl restart
每月的4号与每周一到周三的11点重启apache
0 4 1 jan * /usr/local/apache/bin/apachectl restart
一月一号的4点重启apache
-----------------------------------------------
阅读(413) | 评论(0) | 转发(0) |