crontab 基础配置使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了crontab 基础配置使用相关的知识,希望对你有一定的参考价值。
参考技术A 在安装完成操作系统后,默认会安装 crond 服务工具,且 crond 服务默认就是自启动的。crond 进程每分钟会定期检查是否有要执行的任务,如果有,则会自动执行该任务。crontab 是通过 /etc/cron.allow 和 /etc/cron.deny 文件来限制某些用户是否可以使用 crontab 命令的:
crontab 定时任务非常简单,只需执行 crontab -e 命令,然后输入想要定时执行的任务即可。
当我们执行 crontab -e 命令时,打开的是一个文件,而且操作方法和 Vim 是一致的。这个文件的格式才是我们真正需要学习的内容,文件格式如下:
通过 5 个 * 来确定命令或任务的执行时间的,这 5 个 *
时间特殊符号含义:
举例:
45 22 * * * 命令,表示 在 22 点 45 分执行命令
0 17 ** 1命令,表示在每周一的 17 点 0 分执行命令
0 5 1,15**命令,表示在每月 1 日和 15 日的凌晨 5 点 0 分执行命令
40 4 ** 1-5命令,表示在每周一到周五的凌晨 4 点 40 分执行命令
*/10 4 ***命令,表示在每天的凌晨 4 点,每隔 10 分钟执行一次命令
0 0 1,15 * 1命令,表示在每月 1 日和 15 日,每周一个 0 点 0 分都会执行命令,注意:星期几和几日最好不要同时出现,因为它们定义的都是天,非常容易让管理员混淆
当 crontab -e 编辑完成之后,一旦保存退出,那么这个定时任务实际就会写入 /var/spool/cron/ 目录中,每个用户的定时任务用自己的用户名进行区分。
在书写 crontab 定时任务时,需要注意以下几个事项:
Linux配置定时,使用 crontab -e 与 直接编辑 /etc/crontab 的区别
Linux配置定时任务,大家都知道使用crontab这个系统功能,但有时候我们需要区分用户执行,下面就直接说一下2种方法的区别:
方法1:
使用命令 crontab -e 然后直接编辑定时脚本。
这样执行以后,属于用户自定义的,会被写到 /var/spool/cron 目录下,生成一个和用户名一致的文件,文件内容就是我们编辑的定时脚本。
如:
[[email protected] cron.d]# cd /var/spool/cron [[email protected] cron]# ll 总用量 4 -rw-------. 1 root root 52 12月 9 10:58 root [[email protected] cron]# pwd /var/spool/cron [[email protected] cron]# cat root 30 03 * * * /root/automysqlbackup.sh
方法2:
使用命令 vi /etc/crontab 编辑定时脚本。
如:
[[email protected] ~]# cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 30 * * * * root /usr/sbin/ntpdate 210.72.145.44 #30 8 * * * root /usr/sbin/ntpdate 132.228.90.101 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 */1 * * * * root run-parts /opt/openoffice.org3/program/start.sh ############################################ 30 4 * * * root /usr/bin/rsync -vzrtopg --progress --delete [email protected]::resource /hyy/bak/resource 30 4 * * * root /usr/bin/rsync -vzrtopg --progress --delete [email protected]::log /hyy/bak/log ############################################ [[email protected] ~]#
(系统级的)做系统级配置我们会直接配置 /etc/crontab
(用户级的)一般还是建议大家使用 crontab -e ,这样系统也会帮着检查我们配置的脚本语法。
以上是关于crontab 基础配置使用的主要内容,如果未能解决你的问题,请参考以下文章
零基础学习云计算及大数据DBA集群架构师Linux系统配置及网络配置2015年12月30日周三