linux服务器利用crontab配置定时计划任务

在windows服务器中,我们可以方便的进行计划任务,但#linux#服务器中就不是那么方便了。很多网站程序都支持win系统的自动任务,但支持linux自动任务的却几乎没有。今天讲一下如何在linux服务器中配置自动计划任务,顺便保存下来方便以后查阅。

其实linux系统也有计划任务,只是需要root权限才能进行配置。

首先,我们要使用软件打开“/etc/crontab”文件;显示内容如下:

SHELL=/bin/bash    
PATH=/sbin:/bin:/usr/sbin:/usr/bin    
MAILTO=root    
HOME=    
# run-parts    
01 * * * * root run-parts /etc/cron.hourly    
02 4 * * * root run-parts /etc/cron.daily    
22 4 * * 0 root run-parts /etc/cron.weekly    
42 4 1 * * root run-parts /etc/cron.monthly

这里讲解一下linux系统中“crontab”配置文件里面的命令含义。
上面文件最下面的命令中一共出现了8个字段,他们的含义根据排列则是:

分钟 小时 日 月 周几 用户 命令及参数  

当 “分钟” 为 * 时表示每分钟都要执行 命令(取值为0-59),“小时” 为 * 时表示每小时都要执行程式(取值0-23),“天”取值1-31,“月”取值1-12,“周几”取值0-6;
当 “分钟” 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,“小时” 为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推
当“分钟”为 */n 时表示每 n 分钟个时间间隔执行一次,“小时” 为 */n 表示每 n 小时个时间间隔执行一次,其余类推
当“分钟”为 a, b, c,… 时表示第 a, b, c,… 分钟要执行,“小时”为 a, b, c,… 时表示第 a, b, c…个小时要执行,其余类推
“用户”如果省略,则表明是root帐号执行;比如操作mysql服务器,我们可以定义用mysql用户来操作,这时要写上用户名。
举例:

0 6 * * * echo "Good morning." >>/tmp/test     //每天早上6点整在/tmp/test文件中写入”Good morning. ”  
0 */2 * * * echo "Have a break now." >>/tmp/test   //每隔两个小时在/tmp/test文件中写入”Have a break now.”  
0 23-7/2,8 * * * echo "Have a good dream." >> /tmp/test   //晚上11点到早上7点之间每隔两个小时,和早上8点在/tmp/test文件中写入” Have a good dream .”

上面的每一行都是用来在同一时间批量执行任务的。这些行的命令字段(即第七个字段,第六字段后的所有内容)最前面都含有命令“run-parts”,“run-parts”命令的意思是执行下面目录里面的程序和脚本。
例如run-parts /etc/cron.hourly意思就是执行/etc/cron.hourly目录下的程序或脚本。

还没有评论,快来抢沙发!

发表评论

  • 😉
  • 😐
  • 😡
  • 😈
  • 🙂
  • 😯
  • 🙁
  • 🙄
  • 😛
  • 😳
  • 😮
  • emoji-mrgree
  • 😆
  • 💡
  • 😀
  • 👿
  • 😥
  • 😎
  • ➡
  • 😕
  • ❓
  • ❗
  • 73 queries in 0.376 seconds