当前位置: 首页 > Linux

深入分析Linux的Cron命令

时间:2023-04-06 23:21:02 Linux

Cron是Linux的一个有用工具,也是开发人员的最爱,因为它允许您使用通用和特定于任务的脚本来自动运行命令。通过该描述,您可以想象系统管理员如何使用它来自动执行备份任务、目录清理、通知等。Cron作业在后台运行并不断检查/etc/crontab文件、/etc/cron.*/和/var/spool/cron/目录。我们最好不要直接编辑cron文件,因为每个用户都有一个独一无二的crontab。那么您应该如何创建和编辑cron作业呢?我们可以使用crontab命令。crontab是一种用于创建、编辑、安装、卸载和列出cron作业的方法。创建和编辑cron作业的命令相同且简单。更酷的是,您无需在创建新文件或编辑现有文件后重新启动cron。$crontab-eCron语法就像使用任何语言一样,当您知道cron的语法时,使用cron会容易得多,它有两种格式:ABCDEUSERNAME/path/to/commandarg1arg2ORABCDEUSERNAME/root/cron语法的描述上面在backup.sh:A:分钟范围:0–59B:时间范围:0–23C:日期范围:1–31D:月份范围:1–12或JAN-DECE:星期几:0–6或SUN-SAT,星期日=0或7。USERNAME:Username/path/to/command——你要规划的脚本或命令的名称是:┌────────────────分钟(0-59)│┌────────────────小时(0-23)││┌────────────一个月中的第几天(1-31)│││┌────────────────月(1-12或JAN-DEC)││││┌──────────────星期几(0-6或SUN-SAT,Sunday=0or7)││││││││││││││*****另外,Cron使用3个运算符来指定字段中的多个值:星号(*):指定全部该字段的可能值,*****每天每分钟运行一次。逗号(,):指定一个值列表,2,104,5***在每天的第4和第5个小时的第2和第10分钟运行。短划线(-):指定值范围,04-6***在第4、5、6小时的第0分钟运行。分隔符(/):指定步长值20/15****从第20分钟到第59分钟(第20、35和50分钟)每15分钟运行一次。Cron的语法和运算符就这么多,下面展示一些cron示例。Cron作业示例运行cron命令的第一步是使用以下命令安装crontab:#crontab-erun/root/backup.sheveryat3:003***/root/backup.sheverymonthRunscript.sh次日下午4:30:30162**/path/to/script.sh每个工作日晚上10点运行/scripts/phpscript.php:022**1-5/scripts/phpscript.php在午夜后23分钟运行perlscript.pl,每天凌晨2点和凌晨4点:230-23/2***/path/to/perlscript.pl04每个星期日:05运行Linux命令:54**sun/path/to/linuxcommandCron选项列出cron作业。#crontab-l或#crontab-uusername-l删除所有crontab作业。#crontab-r删除特定用户的cron作业。#crontab-r-uusername字符串Crontab中的字符串是开发人员的最爱,因为它们通过消除重复写入来帮助节省时间。Cron具有特定的字符串,可用于更快地创建命令:@hourly:每小时运行一次,即“0****”@midnight:每天运行一次,即“00***”@daily:与Samefor午夜@weekly:每周运行一次,即“00**0”@monthly:每月运行一次,即“001**”@annually:每年运行一次,即“0011*”@每年:与@annually@reboot相同:每次启动时运行一次例如,以下是每天备份系统的方法:@daily/path/to/backup/script.sh此时,您已拥有创建和管理系统任务所需的一切有了Cron,你需要的一切。现在您可以开始使用计划命令来设置和维护多个环境。当您足够了解Crontab的工作原理时,您可以使用这些漂亮的Crontab生成器实用程序免费生成crontab行。此外,您可以在此处阅读Ubuntu关于如何使用Cron的文章。参考https://www.tecmint.com/create-and-manage-cron-jobs-on-linux/https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows欢迎来到我的个人博客:方寸之间