当前位置: 首页 > 科技观察

功能强大且可靠,使用Linuxcron命令安排任务

时间:2023-03-22 10:53:40 科技观察

在我的Linux之旅的早期,我开始欣赏操作系统的大量命令行实用程序以及它们简化常见任务的方式。例如,在我的Windows服务器上备份应用程序通常需要昂贵的附加软件包。相比之下,tar命令使备份Linux相对容易,但功能强大且可靠。但是,在备份我的电子邮件系统时,我遇到了另一个挑战。无法在工作日或傍晚进行备份,因为人们正在使用该系统。备份必须在午夜之后进行,并且必须可靠。我习惯了Windows任务管理器,但我在Linux上使用什么?那是我学习cron的时候。使用cron在Linux上安排任务Cron是一个守护进程,用于自动执行计划的命令。学习如何使用cron需要一些学习和实验,但很快我就可以使用cron关闭我们的电子邮件服务器,将数据备份到压缩的tar文件,然后在凌晨3点重新启动电子邮件服务。cron作业的命令存储在Linux系统上的crontab文件中,通常位于/etc/crontab中。使用$crontab-l显示crontab文件的内容。使用$crontab-e编辑crontab文件。linuxmi@linuxmi/home/linuxmi/www.linuxmi.com?crontab-e如果您以后改变主意,如何选择另一个编辑器?要使用的命令是选择编辑器。linuxmi@linuxmi/home/linuxmi/www.linuxmi.com?select-editor一些系统默认使用Vi编辑器进行cron编辑。您可以使用环境变量覆盖此设置:$EDITOR=nanocrontab-e这允许您使用nano编辑器来编辑您的个人crontab(如果您还没有,系统会自动为您创建一个)。在插入整数值之前,所有crontab命令的参数都用星号表示。第一个表示分钟,然后是小时、月中的第几天、一年中的月份,最后是星期几。评论前面有一个哈希。Cron会忽略注释,因此它们是您自己记下命令的作用及其重要性的好方法。cron作业示例假设您想在每周三凌晨1点使用clamscan扫描主目录中的病毒和恶意软件。您还想在每周五早上5点备份您的主目录。使用cron和crontab文件来确保每周进行系统维护,无论您是否记得运行这些实用程序。编辑您的crontab文件以包括以下内容,使用您自己的用户名而不是我的“linuxmi”:#扫描我的主目录中的病毒01**3clamscan-ir/home/linuxmi/#backuphomeDirectory05**5tar-zcf/var/backups/home.tgz/home/linuxmi/如果您使用的是nano编辑器,请使用Ctrl+O写出文件并使用Ctrl+X退出编辑器以保存您的工作。提示如下,表示保存成功。crontab:安装新的crontab编辑文件后,使用crontab-l列出您的cron文件的内容以确保它被正确保存。您可以为系统需要的任何作业创建crontab作业。这充分利用了cron守护进程。众所周知,从Linux命令行调度cron最困难的部分是为那些前导星号提供正确的值。时间格式如下:t1t2t3t4t5程序其中t1是分钟,t2是小时,t3是月中的日期,t4是月份,t5是星期中的日期。program表示要执行的程序。当t1为*时,表示程序每分钟执行一次,当t2为*时,表示程序每小时执行一次,以此类推。当t1为a-b时表示从第a分钟到第b分钟执行,t2为当a-b表示从a到b时执行,以此类推,当t1为*/n时,它表示每n分钟执行一次,当t2为*/n时表示每n小时执行一次,以此类推当t1为a,b,c,...时表示a,b,c,...分钟将被执行;当t2为a,b,c,...时,表示a,b,c...小时要执行,其余依次类推*****-----|||||||||+-----星期几(0-6)(0表示星期日)|||----------月(1-12)||+----------------一个月中的第几天(1-31)|+----------------小时(0-23)+-----------------------Minutes(0-59)用户也可以先将所有设置存储在文件中,使用crontab文件设置执行时间。此外,大多数现代cron系统都有常用值的快捷方式,包括:@hourly:每小时运行一次(0****)@daily:每天运行一次(00***)@weekly:每周运行一次(00**0)@monthly:每月运行一次(001**)@reboot:重启后运行一次负责一次性工作。Cron是一个有用的任务调度系统,就像编辑文本一样简单易用。尝试一下!