在进行windows server和linux系统下的定时任务设置后,我觉得有必要对这两者的操作进行一次总结,以下是我的总结文章。
在windows Server下设置定时任务的步骤如下:
假设你开发了一个windows可执行程序,并将其编译为demo.exe,你希望该任务在特定时间自动执行…
步骤1:打开”开始”菜单,然后选择”计划任务程序”。
步骤2:在”计划任务程序”窗口中,依次选择”计划任务程序(本地)” -youjiankuohaophpcn “任务计划程序库”。
步骤3:点击右侧的”创建基本任务”按钮,然后按照向导填写相应的设置即可完成任务的创建。
在linux系统下,使用Crontab来设置定时任务:
1、首先要理解Crontab的时间表达式格式:
基本格式为:*****command,分时日月周命令
2、配置和使用Crontab进行定时任务设置:
在ubuntu系统中,输入crontab -e命令即可打开Crontab的配置文件,在该文件中添加你希望执行的任务。你可以执行各种命令,如cURL、sh、php等… 例如,如果你想在每年的5月4日下午1点50分给bravo发送一封邮件,邮件内容在/home/www/msg.txt文件中,你可以在crontab -e后添加如下任务:
50 13 4 5 * mail bravo
另一个例子是,如果你想在每天的下午1点20分访问一个特定的网址,可以在配置文件中加入:
20 13 * * * /usr/bin/curl -i http://dev.blog.io/cron/testAction
还可以使用sh命令(有时需要改为bash)来执行脚本,例如:
00 02 * * * sh /home/bravo/shell/dailyError.sh
你也可以使用crontab -uroot -l命令查看指定用户的定时任务。
此外,linux系统下的at命令也可以用于设置一次性执行的定时任务。at命令的工作原理是生成要运行的工作,并将该工作以文本文件的形式写入到/var/spool/at/目录中,等待atd服务取用和执行。使用at命令前,首先需要检查/etc/at.allow和/etc/at.deny文件,只有在/etc/at.allow中列出的用户才能使用at命令,而在/etc/at.deny中列出的用户则不能使用。如果这两个文件都不存在,则只有root用户有权限使用at命令。
步骤1:启动atd服务:
/etc/init.d/atd restart
步骤2:at命令的详细使用:
at [-mldv] TIME at -c 工作号码
参数说明:
- -m:当at的工作完成后,即使没有输出信息,也会通过电子邮件通知该用户工作已完成。
- -l:相当于atq,列出系统上所有该用户的at调度。
- -d:相当于atrm,取消一个在at调度中的工作。
- -v:可以使用更明显的时间格式列出at调度中的任务列表。
- -c:列出后面接的该工作的实际命令内容。
TIME时间格式:
- HH:MM,例如04:00
- HH:MM yyYY-MM-DD,例如04:00 2009-03-17
- HH:MM[am|pm] [Month] [date],例如04pm March 17
- HH:MM[am|pm]+number [minutes|hours|days|weeks],例如04:00 + 5 minutes或now + 5 minutes
*注:以上内容中的部分图文来自于网络,其他部分为原创内容。