前言
Linux中的定时任务(案例:定时备份和清空)
crontab 命令
Linux crontab 是用来定期执行程序的命令, 当安装完成操作系统之后,默认便会启动此任务调度命令。
crond 命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
使用语法
-
crontab -e
:打开文字编辑器来设定时程表 -
crontab -l
:查看时程表 -
crontab -r
:删除时程表 -
crontab -u [指定用户] -[附加上面命令]
:对指定用户进行操作
- 编辑(
创建任务
):
# 不加 -u 表示编辑当前用户的时程表
$ crontab -e
# 编辑wang这个用户的时程表
$ crontab -u wang -e
图例:输入 -e 编辑命令
回车进入 vi 编辑窗口
默认是空,此处编写你的定时任务,规则在下方描述
- 查看(
查看时程表
)
# 不加 -u 表示查看当前用户的时程表
$ crontab -l
# 查看wang这个用户的时程表
$ crontab -u wang -l
图例: 查看当前用户时程表
查看指定用户时程表
- 删除(
删除时程表
)
# 不加 -u 表示删除当前用户的时程表
$ crontab -r
# 对wang这个用户进行删除操作
$ crontab -u wang -r
图例: 删除当前用户时程表
删除指定用户时程表
实例
定时备份用
nohup.out
命令 启动jar包的nohup.out
日志文件,并清空源日志文件。
一分钟备份备份一次
编写备份脚本,该脚本会把/usr/wang/soft/test/nohup.out文件复制一份以当前事前开头的备份文件,并清空原来的nohup.out文件内容
#!/bin/bash
# 获取当前日期
date=$(date +%Y%m%d%H%M%S)
# 备份日志文件
cp /usr/wang/soft/test/nohup.out /usr/wang/soft/test/${date}_nohup.out
# 清空日志文件
echo "" > /usr/wang/soft/test/nohup.out
当前路径下的所有文件
设定时程表,一分钟执行一次该脚本
文章来源:https://www.toymoban.com/news/detail-801824.html
# 编辑时程表
$ crontab -e
# 在vm中输入如下规则(一分钟执行一次/usr/wang/soft/test目录下的clear_nohup.sh运行我呢见)
* * * * * /usr/wang/soft/test/clear_nohup.sh
# 设定好了保存退出即可
执行流程如下:
时程表规则
* * * * * /usr/wang/soft/test/clear_nohup.sh
文章来源地址https://www.toymoban.com/news/detail-801824.html
- *:表示分钟(0-59)
- *:表示小时(0-23)
- *:表示日期(1-31)
- *:表示月份(1-12)
- *:表示星期几(0-6,0代表星期天)
常用的表达式
表达式 | 作用 |
---|---|
每分钟执行一次 | * * * * * |
每小时执行一次 | 0 * * * * |
每天执行一次 | 0 0 * * * |
每周执行一次 | 0 0 * * 0 |
每月执行一次 | 0 0 1 * * |
每月最后一天执行一次 | 0 0 L * * |
每年定时执行一次 | 0 0 1 1 * |
总结
以上就是今天要讲的内容,本文简单介绍了crontab的使用,并用自己在工作中遇到的需求作为一个案例。
到了这里,关于Linux中的定时任务(案例:定时备份和清空)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!