crontab定时器
格式
{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}
- minute: 区间为 0 – 59
- hour: 区间为0 – 23
- day-of-month: 区间为0 – 31
- month: 区间为1 – 12. 1 是1月. 12是12月.
- Day-of-week: 区间为0 – 7. 周日可以是0或7.
添加定时器
crontab -e : 修改crontab文件. 如果文件不存在会自动创建,在文件里添加。
crontab -r : 删除crontab文件。
crontab -ir : 删除crontab文件前提醒用户。
星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。
同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
查看已有定时器
crontab -l //查看用户的定时器(有的木马之所以删不完就是因为用了定时器定时下载)
查看执行记录
tail -n 2000 /var/log/cron|grep xxx.sh
删除n天前文件
删除/root/tomcat/logs/目录下,mtime指定的30天前的,名为*.log的文件。
find /root/tomcat/logs/ -type f -mtime +30 -name "*.log" -exec rm -rf {} ;
创建文件编辑脚本并赋予执行权限
touch autoDelLog.sh vi autoDelLog.sh
chmod 777 autoDelLog.sh
加入crontab文件
crontab -e
编辑文件,加入凌晨00:00执行autoDelLog.sh的配置
0 0 * * * /root/autoDelLog.sh
查看
crontab -l
自动备份Mysql
mysqldump --opt -uroot -p123456 -h127.0.0.1 --database dbname--ignore-table=gmzntc2018.table1 | gzip>/db_back/dbname_`date +%F`.zip