Linux定时任务
简介
如果需要在主机定时或周期启动或运行某一程序或脚本,由于程序或脚本运行的时长并不确定,可能会出现同时重复运行多个该程序或脚本的情况。
安装
CentOS
1 | yuminstall vixie-cron crontabs //安装Crontab |
Debian(注:平时直接用以下/etc… 中的cron命令)
1 | apt-getinstall cron //大部分情况下Debian都已安装。 |
定时任务目录
目录路径 | 执行说明 |
---|---|
/etc/cron.hourly | 系统定时任务周期每小时执行该目录下的脚本 |
/etc/cron.daily | 系统定时任务周期每一天执行该目录下的脚本 |
/etc/cron.weekly | 系统定时任务周期每一周执行该目录下的脚本 |
/etc/cron.monthly | 系统定时任务周期每个月执行该目录下的脚本 |
注意权限
注意:增加.sh脚本可执行权限
1 | chmod +x ******.sh |
定时任务文件
类型 | 路径 |
---|---|
全局定时任务配置文件 | /etc/crontab |
用户定时任务配置文件 | /var/spool/cron/root |
语法
基本格式 | |||||
---|---|---|---|---|---|
* | * | * | * | * | command |
分(0-59) | 时(0-23) | 日(1-31) | 月(1-12) | 周(0-6) | 定时执行的命令 |
命令
1 | # 设定某个用户的cron服务 |
示例
修改定时任务配置文件
1 | # 每天15:30运行一个python脚本: |
补充
在实际的使用过程中可能会存在着重复启动定时程序的可能,需要对定时任务进一步改进。
flock通常会使用一个「锁文件」,也就是建立一个文件来告诉别的进程自己在运行,如果检测到那个文件存在,则认为有操作同样数据的进程在工作,这样就可以防止其它进程访问这个文件。
1 | flock -xn /tmp/tmp.lock |
改进后的形式:
1 | # 保证同时只有一个程序运行 |
参数
Crontabhttps://link.zhihu.com/?target=https%3A//blog.csdn.net/bandaoyu/article/details/122623607
linux Crontab的安装https://www.dandelioncloud.cn/article/details/1531152954367426561
相关链接(侵删)
- 定时任务——Crontab
- linux 怎么定时去执行一个 .sh 文件
- (相对详细)Linux新建定时任务crontab
- 【Linux】23.ubuntu定时执行脚本/etc/crontab 和 定时任务不执行的解决办法
- 【运维知识基础篇】Linux定时任务
欢迎到公众号来唠嗑:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 赵逸尘个人博客!