大家好,又见面了,我是你们的朋友全栈君。
crontab设置
ubuntu16.04server 自带crontab
执行crontab -e 选择编辑器后在文本最后添加上以下
10 00 * * * /home/ubuntu/cron_cmd.sh > /home/ubuntu/cron_log 2>&1
我这里执行了一个脚本文件,里面可以放很多命令,log输出到指定文件夹。
至于什么是2>&1可以参考 这里
来创建一个cron_cmd.sh
source/home/ubuntu/py35env/bin/activate 加载虚拟环境
cd/home/ubuntu/myproject
pythonmanage.py djcmd django command
mysqldump-uroot -pApasswd myproject > /home/ubuntu/dbbackup/`date %y%m%d`.sql 再来一个mysqldump
find/home/ubuntu/dbbackup/ f -mtime 7 -exec rm {}; 设置删除7天之前的文件
下面是cron的参数说明
#m h dom mon dow command
m分钟 0-59
h小时 0-23
dow天1-31
mon月 1-12
dow 星期 1-6 0表示星期天
command就是要执行的命令
除了这些固定值外,还可以配合星号(*),逗号(,),和斜线(/)来表示一些其他的含义:
星号 表示任意值,比如在小时部分填写*代表任意小时(每小时) 逗号 可以允许在一个部分中填写多个值,比如在分钟部分填写1,3表示一分钟或三分钟 斜线 一般配合 *使用,代表每隔多长时间,比如在小时部分填写*/2代表每隔两分钟。所以 */1和 *没有区别
1.* * * * * date >> /home/postgres/time.log # 每隔一分钟执行一次任务 2.0 * * * * date >> /home/postgres/time.log # 每小时的0点执行一次任务,比如6:00,10:00 3. 6,10 * 2 * * date >>/home/postgres/time.log # 每个月2号,每小时的6分和10分执行一次任务 4.*/3,*/5 * * * * date >> /home/postgres/time.log # 每隔3分钟或5分钟执行一次任务,比如10:03,10:05,10:06
3* * * * /home/meng/hello.sh就是:每小时的03分执行/home/meng/下的hello.sh脚本*/59-17 * * mon,tue,wed,thur,fri wall “Are we there yet?” 53 * * * /usr/bin/apt-get update 就是每天的03:05执行“/usr/bin/apt-getupdate */5 9-17 * * mon,tue,wed,thur,fri wall “Arewe there yet?” 就是在所有的工作日的(9-17点)每过5分钟出现“Arewe there Yet?” #每晚的21:30重启apache。 3021 * * * /usr/local/etc/rc.d/lighttpd restart
#每月1、10、22日 454 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
#每天早上6点10分 106 * * * date
#每两个小时 0*/2 * * * date
#晚上11点到早上8点之间每两个小时,早上8点 023-7/2,8* * * date
#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点 011 4 * mon-wed date
#1月份日早上4点 04 1 jan * date
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/172602.html原文链接:https://javaforall.cn