crontab:用于调用重复性作业
可以使用crontab命令来定时执行任务,使其每日、每周或每月执行一次。
每日 crontab 系统管理任务可能包括以下内容:
* 从临时目录中删除几天前的文件
* 执行记帐摘要命令
* 使用 df 和 ps 命令捕获系统快照
* 执行每日安全监视
* 运行系统备份
每周 crontab 系统管理任务可能包括以下内容:
* 重新生成 catman 数据库以供 man -k 命令使用
* 运行 fsck -n 命令以列出任何磁盘问题
每月 crontab 系统管理任务可能包括以下内容:
* 列出在特定月份中未使用的文件
* 生成每月记帐报告
此外,用户还可以调度 crontab 命令以执行其任务,例如发送提醒和删除备份文件(以下说明ubuntu系统为例)。
Crontab服务相关命令
service cron start //启动服务
service cron stop //关闭服务
service cron restart //重启服务
service cron reload //重新载入配置
service cron status //查看服务状态
注:如果想要开机后自动启动cron进程,因为Ubuntu开机之后会执行/etc/rc.local文件中的脚本,所以我们可以直接在/etc/rc.local中添加启动脚本。
Crontab配置
1./var/spool/cron/crontabs
目录存储所有用户创建的crontab任务,每个任务以创建者的名字命名。
➜ logs git:(client) sudo ls -l /var/spool/cron/crontabs
total 4
-rw------- 1 ly crontab 1222 12月 12 19:42 ly
注:每个用户最多只能够创建一个crontab文件。
2. /etc/crontab 这个文件负责安排由系统管理员制定的维护系统以及其他任务的crontab。
编辑和创建crontab文件
创建 crontab 文件的最简单方法是使用* crontab -e *命令。此命令会调用已为系统环境设置的文本编辑器。系统环境的缺省编辑器在 EDITOR 环境变量中定义。如果尚未设置此变量,crontab 命令将使用缺省编辑器 ed。最好选择您熟悉的编辑器。
以下示例说明如何确定是否已定义编辑器,以及如何将 vim 设置为缺省值。
$ which $EDITOR
$
$ EDITOR=vim
$ export EDITOR
创建 crontab 文件时,该文件会自动放入 /var/spool/cron/crontabs 目录,并以您的用户名命名。如果具有超级用户特权,则可为其他用户或 root 创建或编辑 crontab 文件
* 查看当前用户的cron配置,使用crontab -l
* 编辑当前用户的cron配置,使用 crontab -e
* 删除当前用户的cron配置,使用crontab -r
* 以root身份查看/编辑/删除某用户的cron配置,在命令后加上 -u USERNAME
* 配置系统级的任务,编辑 /etc/crontab 文件
编辑crontab文件语法说明:
*/1 * * * * cd /home/ly/go-workspace/src/monitor_client && python main.py config.cfg pre >>monitor_cli.log 2>&1
说明:
字段 说明
1 分钟(0-59)
2 小时(2-24)
3 日期(1-31)
4 月份(1-12;或英文缩写Jan、Feb等)
5 周几(0-6,0为周日;或单词缩写Sun、Mon等)
6 要执行的命令(路径)