先介绍一下 Cron。Cron 是Linux系统的一个配置定期任务的工具,用于定期或者以一定的时间间隔执行一些命令或者脚本;可执行的任务范围可以是每天夜里自动备份用户的 home 文件夹,也可以每个小时记录 CPU 的信息日志。
crontab(cron table 命令用于编辑执行中的定期任务列表,并且操作是基于每个用户的,每一个用户(包括 root 用户)都拥有自己的 crontab 。
输入命令:
sudo nano /etc/crontab
每一项内容都包含六个部分,从左到右分别为:分钟、小时、月份中的哪一天、年份中的哪一月、星期中的哪一天,还有定时执行的命令。
以我自己设置为例(最后一行命令),宿舍每天都是 23:30 熄灯,我设置的定时任务为每天晚上 23:25 关机,所以命令就是:
25 23 * * * root /sbin/shutdown -h now
这条命令的具体意思就是:
25分23时 月的每一天 年中的每个月 周的每一天 执行关机命令
这样每天的 23:25 都会自动关机。
定时关机只是 cron 命令的一个小操作,我们可以利用这个命令实现更多自动化的任务,比如定时备份,定时运行脚本,这些都可以实现。
01 * * * * root run-parts /etc/cron.hourly
//每小时执行/etc/cron.hourly内的脚本
02 4 * * * root run-parts /etc/cron.daily
//每天执行/etc/cron.daily内的脚本
22 4 * * 0 root run-parts /etc/cron.weekly
//每星期执行/etc/cron.weekly内的脚本
42 4 1 * * root run-parts /etc/cron.monthly
//每月去执行/etc/cron.monthly内的脚本
可以把需要定时运行的脚本放在对应文件夹,在命令设置具体时间。