经验丰富的3d捕鱼达人系统管理员知道在后台自动运行例行维护作业的重要性。
3d捕鱼达人 Cron实用程序是一种在持续的特定时间和/或日期安排例行后台作业的有效方法。
本文是正在进行的一部分 极客的生产力提示 系列。在本文中,让我们回顾15个很棒的crontab作业调度示例。
3d捕鱼达人 Crontab格式
最小 小时 DOM 蒙 陶氏 CMD
领域 | 描述 | 允许值 |
---|---|---|
最小 | 分钟场 | 0至59 |
小时 | 小时字段 | 0至23 |
DOM | 每月的一天 | 1-31 |
蒙 | 月字段 | 1-12 |
陶氏 | 星期几 | 0-6 |
CMD | 命令 | 任何要执行的命令。 |
1.在特定时间安排工作
cron的基本用法是在特定时间执行作业,如下所示。这将在以下位置执行完全备份外壳程序脚本(完全备份) 6月10日08:30 AM.
请注意,时间字段使用24小时格式。因此,对于上午8点使用8,对于晚上8点使用20。
30 08 10 06 * /home/ramesh/full-backup
- 30 – 30th Minute
- 08 – 08 AM
- 10 – 10th Day
- 06 – 6th Month (June)
- * –一周的每一天
2.安排一个以上实例的工作(例如一天两次)
以下脚本每天进行两次增量备份。
本示例在每天的11:00和16:00执行指定的增量备份Shell脚本(incremental-backup)。字段中的逗号分隔值指定命令必须在所有提到的时间内执行。
00 11,16 * * * /home/ramesh/bin/incremental-backup
- 00 –0分钟(每小时中的第一时间)
- 11,16 – 11 AM and 4 PM
- * – Every day
- * – Every month
- * –一周的每一天
3.在特定时间范围内安排工作(例如,仅在工作日)
如果您希望在特定时间范围内每小时安排一次作业,请使用以下内容。
每天在工作时间内进行Cron Job
本示例每天上午9点在工作时间(包括周末)检查数据库的状态– 6 p.m
00 09-18 * * * /home/ramesh/bin/check-db-status
- 00 –0分钟(每小时中的第一时间)
- 09-18 –上午9点,10点,11点,12点,1点,2点,3点,4点,5点,6点
- * – Every day
- * – Every month
- * –一周的每一天
在工作时间的每个工作日进行Cron Job
本示例在工作时间上午9点的每个工作日(即星期六和星期日除外)检查数据库的状态– 6 p.m.
00 09-18 * * 1-5 /home/ramesh/bin/check-db-status
- 00 –0分钟(每小时中的第一时间)
- 09-18 –上午9点,10点,11点,12点,1点,2点,3点,4点,5点,6点
- * – Every day
- * – Every month
- 1-5 -周一,周二,周三,周四和周五(每个工作日)
4.如何查看Crontab条目?
查看当前登录用户’s Crontab entries
要查看您的crontab条目,请从您的unix帐户键入crontab -l,如下所示。
拉梅什@dev-db$ crontab -l @yearly /home/ramesh/annual-maintenance */10 * * * * /home/ramesh/check-disk-space [注意: This displays crontab of the current logged in user]
查看Root Crontab条目
以root用户(su–root),然后执行crontab -l,如下所示。
[email protected]# crontab -l no crontab for root
Crontab如何:查看其他3d捕鱼达人用户’s Crontabs entries
要查看其他3d捕鱼达人用户的crontab条目,请登录root并使用 -u {用户名} -l 如下所示。
[email protected]# crontab -u sathiya -l @monthly /home/sathiya/monthly-backup 00 09-18 * * * /home/sathiya/check-db-status
5.如何编辑Crontab条目?
编辑当前登录用户’s Crontab entries
要编辑crontab条目,请使用crontab -e,如下所示。默认情况下,这将编辑当前登录用户crontab。
拉梅什@dev-db$ crontab -e @yearly /home/ramesh/centos/bin/annual-maintenance */10 * * * * /home/ramesh/debian/bin/check-disk-space ~ "/tmp/crontab.XXXXyjWkHw" 2L, 83C [注意: This will open the crontab 科幻le in Vim editor for editing. Please note cron created a temporary /tmp/crontab.XX... ]
当使用:wq保存上述临时文件时,它将保存crontab并显示以下消息,表明crontab已成功修改。
~ "crontab.XXXXyjWkHw" 2L, 83C written crontab: installing new crontab
编辑Root Crontab条目
以root用户(su–root),然后执行crontab -e,如下所示。
[email protected]# crontab -e
编辑其他3d捕鱼达人用户’s Crontab文件条目
要编辑其他3d捕鱼达人用户的crontab条目,请登录root并使用 -u {用户名} -e 如下所示。
[email protected]# crontab -u sathiya -e @monthly /home/sathiya/fedora/bin/monthly-backup 00 09-18 * * * /home/sathiya/ubuntu/bin/check-db-status ~ ~ ~ "/tmp/crontab.XXXXyjWkHw" 2L, 83C
6.使用Cron安排每分钟的作业。
理想情况下,您可能不需要每分钟安排一次工作。但是,理解此示例将有助于您理解本文下面提到的其他示例。
* * * * * CMD
*表示所有可能的单位—即一年中的每一小时的每一分钟。除了直接使用*以外,您还会发现它在以下情况下非常有用。
- 如果您在分钟字段中指定* / 5,则表示每5分钟一次。
- 当您在分钟字段中指定0-10 / 2时,表示在前10分钟中每2分钟一次。
- 因此,以上约定可用于所有其他4个字段。
7.每10分钟安排一次后台Cron作业。
如果要每10分钟检查一次磁盘空间,请使用以下内容。
*/10 * * * * /home/ramesh/check-disk-space
一年中,它每10分钟执行一次指定的命令check-disk-space。但是您可能需要仅在办公时间执行命令,反之亦然。上面的示例显示了如何执行这些操作。
除了在5个字段中指定值外,我们还可以使用一个关键字来指定它,如下所述。
在某些特殊情况下,您可以使用@后跟一个关键字来代替上述5个字段—例如重启,午夜,每年,每小时。
关键词 | 当量 |
---|---|
@每年 | 0 0 1 1 * |
@日常 | 0 0 * * * |
@hourly | 0 * * * * |
@重启 | 在启动时运行。 |
8.使用@yearly将工作安排在每年的第一分钟
如果您希望在每年的第一分钟执行工作,则可以使用 @每年 cron关键字如下所示。
这将在每年的1月1日00:00使用年维护shell脚本执行系统的年维护。
@每年 /home/ramesh/red-hat/bin/annual-maintenance
9.使用@monthly安排每个月的Cron作业开始
与上面的@yearly类似。但是每月使用一次执行命令 @每月 cron关键字。
这将在每个月1日的00:00执行Shell脚本磁带备份。
@每月 /home/ramesh/suse/bin/tape-backup
10.每天使用@daily安排后台作业
使用 @日常 cron关键字,它将每天使用00:00的cleanup-logs shell脚本进行每日日志文件清理。
@日常 /home/ramesh/arch-linux/bin/cleanup-logs "day started"
11.每次使用@reboot重启后如何执行3d捕鱼达人命令?
使用 @重启 cron关键字,它将在每次启动计算机后执行一次指定的命令。
@重启 CMD
12.如何使用MAIL关键字禁用/重定向Crontab邮件输出?
默认情况下,crontab将作业输出发送给计划作业的用户。如果要将输出重定向到特定用户,请在crontab中添加或更新MAIL变量,如下所示。
拉梅什@dev-db$ crontab -l MAIL="拉梅什" @yearly /home/ramesh/annual-maintenance */10 * * * * /home/ramesh/check-disk-space [注意: Crontab of the current logged in user with MAIL variable]
如果您希望不将邮件发送到任何地方,即要停止通过电子邮件发送crontab输出,请在crontab中添加或更新MAIL变量,如下所示。
MAIL=""
13.如何使用Crontab每秒执行一次3d捕鱼达人 Cron作业。
您无法安排每秒钟的cronjob。因为在cron中,您可以指定的最小单位是分钟。在典型情况下,我们大多数人没有理由每秒在系统中运行任何作业。
14.在Crontab中指定PATH变量
以上所有示例均指定了需要执行的3d捕鱼达人命令或shell脚本的绝对路径。
例如,如果只想指定tape-backup,则不必指定/ home / 拉梅什 / tape-backup,而是将路径/ home / 拉梅什添加到crontab中的PATH变量,如下所示。
拉梅什@dev-db$ crontab -l PATH=/bin:/sbin:/usr/bin:/usr/sbin:/home/ramesh @yearly annual-maintenance */10 * * * * check-disk-space [注意: Crontab of the current logged in user with PATH variable]
15.从Cron文件安装Crontab
除了直接编辑crontab文件之外,您还可以先将所有条目添加到cron文件中。在文件中包含所有thoese条目后,您可以将其上传或安装到cron中,如下所示。
拉梅什@dev-db$ crontab -l no crontab for 拉梅什 $ cat cron-file.txt @yearly /home/ramesh/annual-maintenance */10 * * * * /home/ramesh/check-disk-space [email protected]$ crontab cron-file.txt [email protected]$ crontab -l @yearly /home/ramesh/annual-maintenance */10 * * * * /home/ramesh/check-disk-space
注意: 这会将cron-file.txt安装到您的crontab中,这还将删除您的旧cron条目。因此,从cron-file.txt上传cron条目时请小心。
额外的Cron教程
- Cron与Anacron:如何在3d捕鱼达人上设置Anacron(带有示例)
- 如何每5分钟,秒,小时,天,月,月运行Cron
- 6 3d捕鱼达人 Crontab命令示例
- 如何以批处理模式安装,编辑或删除Cron作业
- 使用9个示例了解atq,atrm,batch命令
很棒的3d捕鱼达人文章
以下是一些很棒的 15个例子 您可能会觉得有帮助的文章。
如果您喜欢这篇文章,您可能还会喜欢..
![]() |
![]() |
![]() |
![]() |
这是很不错的…Thanks Ramesh.