path=/data # 启动文件的路径 name=qidong # 启动的sh文件名字 pid=$(pgrep -f $name) if [ ! -n "$pid" ] then echo '进程不存在,需要重启,正在重启中' cd $path nohup sh ./$name & # 启动命令 else echo '进程存在' $pid fi # 检查是否启动成功 pid2=$(pgrep -f $name) if[ ! -n "$pid2" ] then echo '启动失败' else echo '进程正常运行' fi
- 其中-n用于判断变量是否为空
- !表示取反
- pgrep -f XXX匹配包含XXX的进程,并返回进程号,此处也可以用ps -ef | grep XXX | grep -v grep替代,效果是一样的
输入crontab -e开始编辑linux的定时(写入方式与vim相同)
输入crontab -l查看所有的定时
输入crontab -r删除所有的定时
分 小时 日 月 星期 命令
0-59 0-23 1-31 1-12 0-6 command (取值范围,0表示周日一般一行对应一个任务)
Minute Hour Day Month Dayofweek command
分钟 小时 天 月 天每星期 命令
记住几个特殊符号的含义:
“*”代表取值范围内的数字,
“/”代表”每”,
“-”代表从某个数字到某个数字,
“,”分开几个离散的数字
30 3 10,20 * * ls 每月10号及20号的3:30执行ls命令[注:“,”用来连接多个不连续的时段] 25 8-11 * * * ls 每天8-11点的第25分钟执行ls命令[注:“-”用来连接连续的时段] */15 * * * * ls 每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令 ] 30 6 */10 * * ls 每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls 命令。 ]



