- 第一次编辑计划任务, 会提示选择文本模式, 选择3 (vim.basic)即可.
- 语法: * * * * * command 有几个注意的点:
- * */6 * * * command 表示每天的6:00, 12:00 18:00 24:00 里的每一分钟执行一次, 开始我以为是按照我编辑计划任务的时间算起, 实际不是, 实际是固定的, 系统已经计算好了.
- #未完待续...
- crontab -u bneglect -l 查看benglect用户的计划任务, crontab -e 默认编辑当前用户的, crontab -u otheruser -e 编辑otheruser用户的计划任务.
- 计划任务脚本所在目录: /var/spool/cron/crontabs/
- 计划任务不执行的原因:
- cron服务是否启动(Ubuntu上是cron, 有的系统是crond) service cron status 或 systemctl status cron 查看服务状态 service cron start 或 systemctl start cron 启动
- shell脚本是否有语法错误, 可以手动执行shell脚本, 如果成功执行, 就是别的原因
- shell脚本的路径要写成绝对路径,不能使用相对路径
- 创建计划任务的用户没有执行shell脚本的权限, 举例: bneglect创建的计划任务, 但是mysqlBackUp.sh 的属主和属组可能是root(反正不是bneglect), 解决办法: (1)添加bneglect到root属组(2)修改权限为777(3)属主改成bneglect, 不过一般都是改 777
- 编辑脚本保存退出方式: (1) :wq (2) crontab编辑文件后保存方式 Ctrl+o, 出现"file name to write.."然后回车, 然后Ctrl+x 显示"crontab: installing new crontab"成功
- 在crontab中%是有特殊含义的,表示换行的意思。如果要用的话必须进行转义\%,如经常用的date +%Y%m%d在crontab里是不会执行的,应该换成date +\%Y\%m\%d
- date 选项参考: https://www.cnblogs.com/alsodzy/p/8403870.html
来源:https://www.cnblogs.com/bneglect/p/11736694.html