在Ubuntu 14.04使用Cron实现作业自动化(2)

现在你已经熟悉了crontab命令、语法及cron作业的类型,现在可以创建一些作业计划进行测试。可以使用crontab –e 命令添加。

1、每分钟运行的计划作业

下面的例子,创建一个cron作业,它每分钟输出文本“test cron job to execute every minute”并把文本发送到user@vexxhost.com邮箱。
首先用crontab命令编辑

root@ubuntu-14:~# crontab –e

写入以下的脚本

SHELL=/bin/bash HOME=/ MAILTO=”user@vexxhost.com” #This is a comment * * * * * echo 'test cron job to execute every minute' :wq! 保存并退出

这里写图片描述


一旦保存了此cron脚本文件,就可以把它添加到计划的作业中。

2、在指定时间调度Cron job作业

假如想调度某个cron作业,让它在“每个星期四的下午7:00”运行,那么crontab脚本应该这样:

00 19 * * 4 sh /root/test.sh

再把它添加到调度作业中。

root@ubuntu-14:~# crontab -e crontab: installing new crontab

上面脚本中的“00 19”指的是下午7点,“4”指的是星期四。

七、总结

可以看到,用crontab实现自动化任务是很容易的,而且它可以按分钟、小时、周、月、星期来执行任务。除此之外,Linux还有一个at命令,它适用于处理只执行一次的任务,且需要先运行atd服务。
其次要注意环境变量的问题。有时我们创建了一个crontab,但是这个任务却无法自动执行,而手动执行这个任务却没有问题,这种情况一般是由于在crontab文件中没有配置环境变量引起的。在crontab文件中定义多个调度任务时,需要特别注环境变量的设置,因为我们手动执行某个任务时,是在当前shell环境下进行的,程序当然能找到环境变量,而系统自动执行任务调度时,是不会加载任何环境变量的,因此,就需要在crontab文件中指定任务运行所需的所有环境变量,这样,系统执行任务调度时就没有问题了。
还要注意清理系统用户的邮件日志。每条任务调度执行完毕,系统都会将任务输出信息通过电子邮件的形式发送给当前系统用户,这样日积月累,日志信息会非常大,可能会影响系统的正常运行,因此,将每条任务进行重定向处理非常重要。
最后要注意,新创建的cron作业,不会马上执行,至少要过2分钟才执行。如果重启cron服务则会马上执行。

Linux中利用crontab创建计划任务

Linux中用crontab例行工作安排

Linux crontab不执行问题排查

Ubuntu使用crontab定时任务

Linux计划任务(at batch crontab anacron)  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/16140.html