linux定时命令——crontab

定期清理实际上是定期执行一次.sh脚本。

这需要用到crontab命令

crontab -e里写上以下命令:

* * 1 * * bash [路径:要定期执行的.sh文件所在路径] #用bash来定期执行.sh文件。。这句命令表示每隔一天执行一次脚本

例如:

crontab 每天定时执行python crontab 每天执行一次_字段

这里的* * * * *表示每分钟执行一次这个脚本

crontab命令

crontab命令被用来提交和管理用户的需要周期性执行的任务,当安装完操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

参数:

-e:编辑该用户的计时器设置;

-l:列出该用户的计时器设置;

-r:删除该用户的计时器设置;

-u<用户名称>:指定要设定计时器的用户名称;

minute   hour   day   month   week  command  # 分  时  日  月  周

其中:

minute:表示分钟,可以是从0~59之间的任意数字

hour:表示小时,可以是从0~23之间的任意数字

day:表示日期,可以是从1~31之间的任意数字

month:表示月份,可以是从1~12之间的任意数字

week:表示星期,可以是从0~7之间的任意数字

command:要定期执行的命令

在以上各个字段中,还可以使用一下特殊字符:

星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其他字段的制约条件后每月都执行该命令操作

逗号(,):可以用逗号隔开的值制定一个列表范围,例如,“1,2,5,7,8,9”

短杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”

斜线(/):可以用斜线指定时间的间隔频率,例如“0-23/2”表示每两个小时执行一次。同时斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

解决crontab -e写入命令不生效

crontab -e的默认箭头指向nano,进入crontab -e界面后,界面的所有文字都呈白色,如果在里面写命令是不生效的(因为crontab的默认值是nano)。

解决方案:.bashrc中写以下命令:

export EDITOR=vim