crontab和shell脚本,实现linux定时任务

时间:2022-05-22 21:09:06

linux shell脚本的编写

vi test.sh

#!/bin/bash

###################
. /etc/profile
. ~/.bash_profile
##################

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
cd /home/huaxia/syslog2db&&ruby app.rb stop
cd /home/huaxia/syslog2db&&ruby app.rb start

保存后授权 chmod +x ./test.sh

执行 ./test.sh 可以正常运行表示脚本编写正确

linux crotab编辑


输入crotab -e 进入定时任务编辑界面
写入需要运行的脚本,配置运行的时间如下所示:
* 7 * * * /root/test.sh>/dev/null 2>&1(表示每天7点定时运行脚本,脚本所在的要完整的路径,>后的表示屏蔽 stdout 和 stderr输出)
(调试时可以指定输出内容的路径:* 7 * * * /root/test.sh>>/home/test.txt)


环境变量配置语句 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
个人认为必须加上(如果遇到定时不能正常工作,但是手动执行脚本正常则可以判断是环境变量未引入)