Linux_Crond服务管理

Linux的Crond 服务管理

Cron 是 Linux 系统中用于在后台无需人工干预的情况下,按照预定时间自动执行脚本或命令的守护进程


服务与命令管理

常用命令速查

功能分类 命令 说明
服务控制 systemctl start crond 启动服务
systemctl status crond 查看服务运行状态
systemctl enable crond 设置开机自启
任务管理 crontab -e 编辑当前用户的定时任务
crontab -l 查看当前用户的定时任务
crontab -r 删除当前用户的所有任务(高危操作,无确认提示)
Root 管理 crontab -u <user> -e 编辑指定用户的任务
权限控制 /etc/cron.allow 白名单:仅允许该文件中的用户使用 cron
/etc/cron.deny 黑名单:禁止该文件中的用户使用 cron

Crond 任务语法详解

基础格式

* * * * * /path/to/command

字段解析

字段 含义 取值范围 特殊字符
1 分钟 0-59 * (任意), , (枚举), - (范围), / (间隔)
2 小时 0-23 同上
3 日期 1-31 同上
4 月份 1-12 同上
5 星期 0-7 (0和7均为周日) 同上
6 命令 脚本或命令的绝对路径 使用绝对路径

特殊字符用法示例


实践

创建文件目录Test
新建一个test.txt文件
设置定时任务自动同步
server1与server2同步该文件
#注意 本实践基于Linux的OpenSSH服务案例三


#设置定时任务
#定义VIM为默认编译器
export EDITOR=vim
#设置定时任务
crontab -e
* * * * * rsync -av Test server2:/root
#查看定时任务
crontab -l
* * * * * rsync -av Test server2:/root
#创建文件
touch Test/test.txt
#查看日志
tail -f /var/log/cron
##返回结果如下
Apr  7 20:04:01 centos7 CROND[19266]: (root) CMD (rsync -av Test server2:/root)
Apr  7 20:05:01 centos7 CROND[19281]: (root) CMD (rsync -av Test server2:/root)
Apr  7 20:05:19 centos7 crontab[19295]: (root) BEGIN EDIT (root)
Apr  7 20:05:24 centos7 crontab[19295]: (root) END EDIT (root)
Apr  7 20:05:38 centos7 crontab[19297]: (root) BEGIN EDIT (root)
Apr  7 20:05:47 centos7 crontab[19297]: (root) END EDIT (root)
Apr  7 20:06:01 centos7 CROND[19300]: (root) CMD (rsync -av Test server2:/root)
Apr  7 20:06:55 centos7 crontab[19315]: (root) LIST (root)
Apr  7 20:07:01 centos7 CROND[19317]: (root) CMD (rsync -av Test server2:/root)
Apr  7 20:08:01 centos7 CROND[19332]: (root) CMD (rsync -av Test server2:/root)
#在对方服务器查看
ssh server2 ls Test/test.txt
##返回结果如下
Test/test.txt


Powered by Forestry.md