在linux中,经常要用到定时任务,比如编写一个定时清理缓存的shell脚本,怎么编写shell脚本本次不讨论,这次先只说说怎么配置linux的定时任务并让其成功运行起来呢?
在linux中,可以通过两种方式配置定时任务:
1.通过“crontab -e”命令,格式为“分 时 天 月 周 命令”,比如我有个叫做“cleanmemory.sh”的脚本位于家目录下,如果我想让它每小时执行一次,那么通过"crontab -e"的方式就可以这样配置
0 */1 * * * ~/cleanmemory.sh
2.通过编辑“/etc/crontab”文件来配置定时任务,格式为“分 时 天 月 周 用户名 命令”,同样是上边的例子,此时应该这样配置
0 */1 * * * root ~/cleanmemory.sh
其中root为用户名。
可以看出,两种方式的格式区别是前者不需要写用户名,而后者需要加上用户名,这是其一。为什么会有这种区别呢?
因为前者是属于用户级别的定时任务,通过“crontab -e”配置好后,只对当前用户生效,而通过编辑“/etc/crontab”文件配置的定时任务是全局的,可以配置任何用户的定时任务。
建议使用“crontab -e”的方式来配置,避免影响全局。
crontab参数:-e即 edit 编辑的意思,使用举例“crontab -e”
-l即 list,列出已经配置的定时任务,使用举例"crontab -l"