crontab和shell脚本,实现linux定时任务
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
个人认为必须加上(如果遇到定时不能正常工作,但是手动执行脚本正常则可以判断是环境变量未引入)