Linux定时执行任务--crontab命令的使用

⌚Time: 2022-07-10 17:53:47

👨‍💻Author: Jack Ge

查看cron服务状态与启动cron服务


sudo service cron status

sudo service cron start

crontab命令格式


crontab [ -u user ] { -l | -r | -e }

参数说明:

-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。

-e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)

-r : 删除目前的时程表

-l : 列出目前的时程表

用户第一次使用crontab会询问使用编辑器,来编辑配置文件。这里选择3,vim编辑器

进入编辑界面

在文本最后追加自己的定时任务

时间格式如下:


f1 f2 f3 f4 f5 program


*    *    *    *    *

-    -    -    -    -

|    |    |    |    |

|    |    |    |    +----- 星期中星期几 (0 - 6) (星期天 为0)

|    |    |    +---------- 月份 (1 - 12) 

|    |    +--------------- 一个月中的第几天 (1 - 31)

|    +-------------------- 小时 (0 - 23)

+------------------------- 分钟 (0 - 59)


防止虚拟机里面的内容丢失,设定每隔1分钟,就将workspace文件夹压缩,并且拷贝到/mnt/share目录(我设置的映射到主机的一个文件夹)


* * * * * tar -czf ~/backup.tar.gz ~/workspace && cp ~/backup.tar.gz /mnt/share

每隔5天将日志加密压缩,发送到邮件


* * */5 * * zip -r -P pa1234 ~/log.zip ~/log.txt && mailx -s backup -a ~/log.zip xxx@outlook.com