在Linux上使用Crontab设置定时任务
设置任务有两个方法
- 使用crontab –e (非root用户可以使用) 文章用的这个
- 修改/etc/crontab文件(只有root用户可以用)
工具: finalshell
安装crontab(ubentu): apt-get install cron
1. 在/home/nami (默认进去的用户)位置,在指令里输入 crontab –e
就会跳转到namo界面
2. 用键盘↓移到最底部,输入想要执行的时间,语句
比如我输入的
3 * * * * bash /home/nami/bash_script/run_scheduleEmail.sh
具体的语句含义后面解释, bash是指令,用来执行bash文件用的, 执行 /home/nami/bash_script/run_scheduleEmail.sh 这个文件
bash文件,放在上面的路径:
3. 按Ctrl s保存
4. 按Ctrl x退出
显示installing new crontab表示保存成功
5. 输入crontab –l 查看任务列表
可以看到最底下这行是我刚加的
6. 成功
【调试】Crontab技巧
可以输入
0 * * * * echo “Linux is Cool!” >> ~/crontab_log.txt
保存退出
在nano界面里,如果crontab运行成功,就会有有个txt文档出现
【调试】脚本无法执行?
- 绝对路径
参考菜鸟
https://www.runoob.com/linux/linux-comm-crontab.html
2. 脚本是否涉及中文字符(我没用中文 尽量避免一下中文出现在bash里)
3. 查看系统时间 可能与现在时间不符 比如我的系统是英国时间,但我处在中国时间,我设置任务的时间是按中国时间来的,所以定时任务不能执行
date -R 查看ubentu时间