在Linux操作系统中,除了用户即时执行的操作命令外,还可以配置在指定的时间,指定的日期执行预先计划的系统管理任务(如定期备份、定期采集检测数据)。CentOS系统默认已安装了at、cronie软件包,通过atd和crond这两个系统服务实现一次性、周期性计划任务的功能,分别通过at、crontab命令进行计划任务设置。
at一次性任务设置
使用at命令设置的计划任务只在指定的时间执行一次,前提是对应的系统服务atd必须已经运行。需要注意的事,计划任务的时间,日期必须安排在当前系统时间之后,否则无法正确的设置计划任务。
设置一次性任务的时候,在at命令行中依次指定执行任务的时间、日期作为参数(若只指定时间则表示当天的时间,若只指定日期则表示该日期的档期时间)确认后将进入“at>”提示符的任务编辑页面,每行设置一条执行命令,可以一次设置多条语句,最后按Ctrl+D组合键提交任务。
对于已经设置但还未执行的计划任务,可以通过“atq”命令进行查询。但是已经执行过的at任务将不会显示在列表中
crontab周期性的任务设置
按照预先设置的时间周期(分钟、小时、日期、月份、星期)重复执行用户指定的命令操作。
主要设置文件:
全局配置文件,位于“/etc/crontab”;
系统默认的设置,位于目录“/etc/cron./”;
用户定义的设置,位于文件”/var/spool/cron/用户名”。
使用crontab命令管理用户的计划任务,常用的选项有:
-e:编辑计划任务列表;
-l:列表显示计划任务;
-r:删除计划任务列表。
在实际工作环境中,当需要按照固定周期运行一些操作复杂的任务时,通常会将相关命令操作编写成脚本文件,然后在计划任务配置中加载改脚本执行。
本文永久更新链接地址:https://www.linuxidc.com/Linux/2019-08/160183.htm