场景
要求每个小时 定时到/home/threeinf 目录下执行 sh run.sh restart 命令
配置
1. crontab -e 编辑定时任务列表(相当于vi /etc/crontab, 就是编辑crontab文件)
crontab -e
在文件中添加
0 * * * * cd /home/threeinf && sh run.sh restart
保存退出【esc -> :wq ->enter(回车)】
2. crontab -l 查看当前的定时任务列表
crontab -l
3.到/var/log/cron查看定时任务是否执行
tail -f /var/log/cron
存在输出即可,完结撒花
注意
shell脚本手动执行没问题,crontab定时执行失败
原因:
crontab执行定时任务不会缺省的从用户profile文件中读取环境变量参数(用户登陆Linux操作系统的时候,”/etc/profile”, “~/.bash_profile”等配置文件会被自动执行)
所以经常导致在手工执行某个脚本时是成功的
Shell脚本缺省的 #!/bin/sh 开头换行后的第一行添加
#!/bin/bash
source /etc/profile
source ~/.bash_profile