转载请注明出处:
在服务器中需要创建一个定时任务,每天执行去清理很早之前备份的文件,所以想到在linux上创建一个shell脚本,通过linux的 crontab 命令定时去执行该shell脚本,从而实现定时清理服务器文件。
crontab
是Linux系统中用于调度任务的命令,它允许用户在固定的间隔时间执行命令或脚本。
特性
crontab
可以在没有用户交互的情况下执行任务,这使得它非常适合自动化和后台任务。crontab
可以设置多个不同的任务,每个任务都有自己的调度时间。crontab
支持在特定的日期和时间运行任务,例如,你可以设置在每个月的最后一天运行一个任务。crontab
支持在特定的时间间隔运行任务,例如,你可以设置每小时运行一次任务。crontab
可以在系统重启后自动恢复任务。
使用场景
- 系统维护:例如,定期清理系统日志,备份数据库等。
- 数据分析:例如,定期运行数据分析脚本,生成报告等。
- 网络任务:例如,定期检查网络连接,发送邮件通知等。
crontab
命令的基本语法如下:
* * * * * command to be executed
- - - - -
| | | | |
| | | | +----- day of the week (0 - 6) (Sunday=0)
| | | +------- month (1 - 12)
| | +--------- day of the month (1 - 31)
| +----------- hour (0 - 23)
+------------- min (0 - 59)
例如,如果想每天的早上5点运行一个脚本,可以使用以下的crontab
命令:
0 5 * * * /path/to/command/script.sh
如果想在每个月的最后一天运行一个脚本,可以使用以下的crontab
命令:
0 0 1 * * /path/to/command/script.sh
每小时运行一次脚本
0 * * * * /path/to/command/script.sh
要编辑crontab
文件,你可以使用crontab -e
命令。这将打开一个文本编辑器,你可以在其中添加、修改或删除任务。例如:
crontab -e
先使用 select-editor 选择 编辑类型,然后再使用crontab -e 到具体的编辑器里面编辑配置文件
这将打开一个文本编辑器,可以在其中添加、修改或删除任务。例如,可以添加以下行来每天的早上5点运行一个脚本:
0 5 * * * /path/to/command/script.sh
crontab中经常配置运行脚本输出为:>/dev/null 2>&1,来避免crontab运行中有内容输出。
然后保存并退出编辑器,新的任务将在下一个预定的时间点运行。
保存成功的定时任务配置文件 在/var/spool/cron/下面 :
需要注意的是,你需要给你的脚本添加执行权限,才能让 cron 执行这个脚本。
chmod +x /path/to/script.sh