基本格式 :
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
我的需求是定时备份mongodb:
设置任务执行的cron表达式:
sudo crontab -e进行编辑
设置好之后重启crontab生效
sudo /etc/init.d/crond restart
任务每隔12小时执行脚本进行mongodb的备份,并删除15天之前的备份。
修改文件的日期方便测试:
sudo touch -d "16 days ago" focusedu_data_150522_1432276558
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
我的需求是定时备份mongodb:
编写任务执行的脚本backup_mongodb_focusedu.sh:
backupfilePath="/home/lcq/mongodb_backup"
#delete 15 days ago backup files
find $backupfilePath -mtime +15 |xargs rm -rf
#create backup file
currentDate=$(date +%y%m%d_%s)
mongodb bin目录/mongodump -h 127.0.0.1 -d focusedu -o $backupfilePath/focusedu_data_$currentDate
设置任务执行的cron表达式:
sudo crontab -e进行编辑
0 */12 * * * /bin/sh /mnt/data/cron_jobs/backup_mongodb_focusedu.sh >> /mnt/data/cron_jobs/logs/mongodb_backup.logs
设置好之后重启crontab生效
sudo /etc/init.d/crond restart
任务每隔12小时执行脚本进行mongodb的备份,并删除15天之前的备份。
修改文件的日期方便测试:
sudo touch -d "16 days ago" focusedu_data_150522_1432276558