crontab快速上手
crontab快速上手
crontab在类unix系统(Linux也能用)中用于设置周期性被执行的指令。crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的任务需要执行,此任务被称为cron jobs
。
1.crontab的作用
通过crontab我们可以定时执行指定的系统命令或者shell脚本,这个命令非常设合周期性的日志分析或数据备份等工作。
2.crontab的参数
Linux系统下打印的用法:
Usage:
crontab [options] file
crontab [options]
crontab -n [hostname]
Options:
-u <user> define user
-e edit user's crontab
-l list user's crontab
-r delete user's crontab
-i prompt before deleting
-n <host> set host in cluster to run users' crontabs
-c get host in cluster to run users' crontabs
-s selinux context
-x <mask> enable debugging
参数解释:
file 指定某个文件为crontab
-u <user> 指定用户
-e 编辑用户的crontab(默认当前)
-l 展示用户的crontab
-r 删除用户的crontab
-i 删除用户的crontab前提示
-n <host> 设置集群中的某台机去运行用户的crontab
-c 获得集群中的某台机去运行用户的crontab
3.编辑自己的crontab
编辑自己的crontab文件
$crontab -e
编辑规则:
#minute hour day month week command
# * * * * * 命令
#特殊符合
* 代表时间
, 代表不连接的时间
- 连续的时间
*/n 每隔n执行一次命令
示例:
*/1 * * * * /bin/echo "hello">>/root/hello.txt
#每隔一分钟追加hello到文件/root/hello.txt中
1-2 6 * * * /bin/echo "hello">>/root/hello.txt
#06.01到06.02持续执行命令
4.用户crontab 文件位置
所有用户定义的crontab 文件都被保存在 /var/spool/cron目录中。其文件名与用户名一致。并且我们一般编辑的是用户任务调度。
用户任务调度:用户定期要执行的工作,比如用户数据备份。用户可以使用 crontab 工具来定制自己的计划任务。
5.系统的crontab文件位置
/etc/crontab 这个文件负责安排由系统管理员制定的维护系统以及其他任务的crontab。这个是系统周期性执行的任务,属于系统任务调度。
系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。
如何编辑/etc/crontab文件,示例:
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
#其余更普通的crontab编辑一样,不过增加了指定用户
1-2 6 * * * root /bin/echo "hello">>/root/hello.txt
6.使用命令的权限设置
我们可以通过两个文件来设置那些用户能使用crontab命令。
/etc/cron.deny #拒绝名单
/etc/cron.allow #允许名单
7.服务命令
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //查看状态
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)