问题: 为了简便或功能需要,可能需要在服务器上定时执行脚本完成task。这里创建完shell脚本后,使用linux的内置服务执行。

linux服务器系统为centos7。

原理:

crontab 是linux内置服务,只需要开启crontab服务后,配置cron任务即可。

基本格式 :

* * * * * command

分 时 日 月 周 | 命令

第1列表示分钟1~59 每分钟用*或者 */1表示

第2列表示小时1~23(0表示0点)

第3列表示日期1~31

第4列表示月份1~12

第5列标识号星期0~6(0表示星期天)

第6列要运行的命令

例子:

20 22 ** * sh /usr/local/start.sh //每天22:20执行脚本start.sh

40 1 1,2,22 * * sh ./start.sh // 每个月 1,2,22 的 1:40执行脚本

操作:

1、检查cron服务是否开启

$ /sbin/service crond status

crontab 定时重启_linux




此时说明 cron服务已经启动,占据pid为3241。

2、如果cron服务未启动,执行启动

/sbin/service crond start //启动

/sbin/service crond stop // 停止

/sbin/service crond restart

/sbin/service crond reload

例如需要重启:

crontab 定时重启_重启_02




3、查看当前用户的crontab:

$ crontab -l

可以看到当前用户有一条任务, 1分钟执行一次脚本。

crontab 定时重启_linux服务器_03





4、想要新增或编辑任务

crontab -e


如果不变更,提示如下:

crontab 定时重启_重启_04





5、删除crontab:


$ crontab -r

删除后可以发现,op1用户不再有定时任务。


crontab 定时重启_linux_05




测试:

添加crontab如下,每执行一次任务在log插入一条日志

执行成功。


linux服务器上使用crontab创建定时任务执行脚本​

CentOS设置系统和Tomcat定时重启:​


个人学习笔记,记录日常学习,便于查阅及加深,仅为方便个人使用。