网站要定时备份、日志要定时清理、脚本要定时跑,这些活Linux的crontab都能自动干。手动做一次谁都行,天天手动就烦了。小编把crontab的格式、常用命令和几个实战例子整理出来,看完你就能自己把定时任务配上,省心很多。
配置定时任务、跑自动化,需要一台好用稳定的VPS,这两家适合站长:Hostwinds(全球云服务器)、CloudCone(全球云服务器)。

crontab一条任务就一行,五个字段分别表示分、时、日、月、周。比如 `0 2 * * *` 就是每天凌晨2点执行,`*/10 * * * *` 是每10分钟执行一次。记不住没关系,关键要懂这五个位置各代表啥,写错位置任务就跑乱。

管理crontab就几条命令。crontab -e编辑任务,crontab -l查看当前任务,crontab -r清空全部任务。编辑保存后任务自动生效,不用重启。新建的脚本注意给够执行权限,不然任务会一直失败还查不到原因。
crontab最常见的用法就是定时备份和定时清理。比如每天凌晨把数据库和网站目录打包备份,每周清一次日志,都是写进crontab让它自动跑。设好之后基本不用管,比手动勤快多了,也不容易忘。

crontab看着简单,坑也不少。一是环境变量,脚本里用到的命令路径最好写绝对路径,cron跑的时候环境很干净;二是执行时间和服务器时间要对,差了几个小时任务就全错位了;三是输出别堆在邮箱里,重定向到日志文件方便排查。这几个注意好,能少踩很多坑。

任务配了没执行,先查服务有没有开、脚本权限对不对、路径写没写对。再把cron输出重定向到文件看一眼,错误多半就在里面。排查起来也不难,按这顺序基本都能找到。

总结一句:格式记准、权限给够、路径用绝对、时间对好,crontab就能稳稳帮你自动干活。配好一次,后面天天省心。