Linux定时任务Crontab以及nohup启动

总结nohup挂掉的两个理由:

1.程序自己报错停掉

2.kill -9 强制杀掉进程

定时任务检查进程号,如果不存在直接启动脚本:

1.安装crontab

yum install crontabs

2.启动服务

/sbin/service crond start //启动服务

3.加入开机自动启动

chkconfig -level 35 crond on

4.编写test.sh脚本

#!/bin/bash

#判断脚本是否启动

ps -ef|grep test.py|grep -v "grep" 

#如果没有

if[$? -ne 0] 

then

echo "start process......" 

# 执行启动脚本命令,nohup输出是追加到日志文件,这样不会覆盖掉之前的日志文件

nohup python /home/hlz/Desktop/test.py >>/home/hlz/Desktop/test.log 2>&1&

else

echo "running......"

fi

5.给脚本赋予执行权限(使脚本具有执行权限)

chmod +x ./test.sh

6.编辑当前用户的cron配置

crontab -e

* */1 * * * /home/hlz/Desktop/test.sh

7.crontab文件格式学习:

minute   hour    day   month   week   command

分           时        天       月         周       命令

minute: 表示分钟,可以是从0到59之间的任何整数。

hour:表示小时,可以是从0到23之间的任何整数。

day:表示日期,可以是从1到31之间的任何整数。

month:表示月份,可以是从1到12之间的任何整数。

week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

例如:

* * * * * /home/test.sh  #每一分钟执行一次test.sh脚本

10,15 * * * * /home/test.sh #每小时的10,15分钟各执行一次test.sh脚本

15 8 * * * /home/test.sh #每天早上8点15执行一次

15 8 1 jan * /home/test.sh #1月1号早上8点15执行一次

0 6 * * 6 /home/test.sh #每个星期六的早上6点执行一次

* 8 * * * /home/test.sh #每个早上8点执行一次

0 */2 * * * /home/test.sh #每两小时执行一次

 

posted @ 2019-07-16 15:45  柚子112  阅读(3418)  评论(0编辑  收藏  举报