1.命令格式
minute hour day mouth week task
2.构成以及分别意义(每个成分的范围)
分钟 小时 day mouth week一个月的第几天 周几
0-59 0-23 1-31 1-12 0-7:(0就是7即周日)
3.在企业中常用在什么地方
在Linux系统中,计划任务(如crontab和at)在企业中常用在多个方面,主要目的是为了自动化执行一些周期性或定时任务,以提高工作效率和管理便利性。以下是一些具体的应用场景:
定期备份数据:企业需要定期备份重要数据以防止数据丢失,计划任务可以自动执行备份脚本,确保数据安全。
日志管理和分析:随着系统的运行,日志文件会不断增长,占用大量存储空间并可能影响系统性能。计划任务可以用来定期切割、压缩或轮转日志文件,以及使用logwatch等工具分析日志,帮助系统管理员及时发现潜在问题。
更新和补丁管理:软件更新和系统补丁对于保障系统安全至关重要。计划任务可以定期检查并应用这些更新,确保系统始终保持最新状态。
定期执行维护脚本:一些维护任务,如清理临时文件、优化数据库等,可以通过计划任务定期执行,保持系统性能和稳定性。
RPM软件包管理:当企业安装或卸载软件包时,计划任务可以帮助记录这些操作,方便日后查询和管理。
4.日 周的关系!
在Linux系统的计划任务中,周和日的关系主要体现在crontab的时间表达式中。时间表达式由5个字段组成,分别代表分、时、日、月、周,它们共同定义了任务执行的时间。周和日都是用来指定任务执行的具体星期几,但是它们在表达方式上有所不同。
日字段用于指定任务执行的具体日期,可以是一个具体的数字也可以是范围(1-31),或者使用表示每天。 周字段用于指定任务执行的星期几,可以使用数字(0-7,其中0和7都代表星期日)或者使用名字(如SUN、MON等)。 当在crontab中设置时间表达式时,如果日字段和周字段同时被指定了具体的值,那么任务将在指定的日期和星期几同时满足时执行。如果任何一个字段使用了,则表示该字段的值不限制,任务将在满足其他字段条件的情况下执行。
例如,如果设置的时间表达式为0 0 1 1 *,这表示任务将在每年的1月1日的每个星期五的午夜执行。如果设置为0 0 * * 5,则表示任务将在每个星期五的午夜执行。这两种情况下,日字段和周字段都起到了指定执行时间的作用,但它们的作用方式不同:日字段通过具体日期指定,而周字段通过星期几指定。
此外,Linux计划任务还支持更复杂的时间表达式,如使用,分隔多个值来表示在多个特定日期或星期几执行任务,或者使用-来表示一个日期范围。这些特性使得Linux计划任务非常灵活,可以满足各种复杂的定时执行需求
补充1:
1.写完之后去网站校验:crontab.guru
2.难以理解之处
min hour:
*/30 */2
*/30 */4
*/30 */8
注意 :不管hour后面有多少只要超过2*30min,就只会在第一个小时内执行两次,剩下时间不会再执行
day mouth
*/1 */2
*/2 */4
*/2 */8
同样月与day也是如此
0 0 * * *表示在每天的开始,即午夜(00:00)
*: 星号表示任何时间的占位符。
3.动态查看文件计划任务:tail -f time.log
补充2:(利用命令方式判断防火墙是否开启,直接执行命令或者脚本文件即可)
1.通过命令:systemctl status firewalld >dev/null/ && echo "防护墙开启" || echo "防火墙关闭"
注意:dev/null :黑洞文件:
在Linux系统中,/dev/null是一个特殊的设备文件,被称为“黑洞文件”。它的主要特性是接收所有写入的数据,但不会保存任何数据,也不会返回任何内容给读取操作。任何写入到/dev/null的数据都会被丢弃,不会占用磁盘空间,因此它被广泛用于丢弃不需要的输出或将输出重定向到无效的位置。例如,如果你想运行一个命令但不关心其输出,可以将输出重定向到黑洞文件,如command > /dev/null,这样命令的输出将被丢弃,不会显示在终端上。此外,如果命令产生大量的输出,但你不希望它们在终端上显示,可以通过command > /dev/null 2>&1将标准输出和标准错误都重定向到黑洞文件,从而禁止输出显示。
2.编写脚本文件:
vim /home/is_firewalld_open.sh