- 测试的是内部一论坛数据库
- #!/bin/bash######################## ## mysql backup script;## created by macchen; ## date Jan 7 2013 ## ########################
- PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbinexport PATHsource /etc/profile
- ########################variable###################################
- USER=rootPASSWORD=123456DATABASE01=dzbbsDATABASE02=mysqlDATE=`date +%Y%m%d%H%M`
- ##########################backup####################################
- mysqldump -u$USER -p$PASSWORD $DATABASE01 > /data/mysqlbk/bbs$DATE.sql
- if [ $? -eq 0 ];then
- echo "backup $DATABASE01 successed......" >> /data/mysqlbk/sqlback$DATE.log
- else
- echo "backup failed,please check log......." >> /data/mysqlbk/error$DATE.log
- fi
- mysqldump -u$USER -p$PASSWORD $DATABASE02 > /data/mysqlbk/mysql$DATE.sql
- if [ $? -eq 0 ];then
- echo "backup $DATABASE02 successed......" >> /data/mysqlbk/sqlback$DATE.log
- else
- echo "backup failed,please check log......." >> /data/mysqlbk/error$DATE.log
- fi
- echo "=============$DATE===============" >> /data/mysqlbk/sqlback$DATE.log
- 然后扔在crontab中自动执行
- [root@www ~]# crontab -l0 23 * * * /bin/sh /root/backup.sh
- ==========================crontab的用法及简单说明=================================
- crontab -e
- PS:此命令默认以当前用户名创建一个任务计划文件,存放在/var/spool/cron下面 执行后会发一封邮件给用户
- 添加的命令必须以如下格式: * * * * * command path
- PS:前五个字段可以取整数值,指定何时开始工作,第六个域是字符串,即命令字段, 其中包括了crontab调度执行的命令;各个字段之间用spaces和tabs分割。
- 前5个字段(*)分别表示: 分钟:0-59 小时:1-23 日期:1-31 月份:1-12 星期:0-6(0表示周日)
- * ======表示任何时刻,======表示分割,如第二字段的小时8,12,14 表示第八小时,第十二小时,第十四小时- ======表示连续的一个时间段,假如第二字段是2-5,表示第二小时至第五小时。/n =====表示每隔n的单位执行一次,假如第二字段是/2,表示第隔2小时执行一次任务。
- 43 21 * * * 每天21:43 执行15 05 * * * 每天05:15 执0 17 * * * 每天下午17:00 执行0 17 * * 1 每周一的 17:00 执行0,10 17 * * 0,2,3 每周日,周二,周三的 17:00和 17:10 执行0-10 17 1 * * 毎月1日从 17:00到7:10 毎隔1分钟 执行0 0 1,15 * 1 毎月1日和 15日和 一日的 0:00 执行42 4 1 * * 毎月1日的 4:42分 执行0 21 * * 1-6 周一到周六 21:00 执行0,10,20,30,40,50 * * * * 每隔10分 执行*/10 * * * * 每隔10分 执行* 1 * * * 从1:0到1:59 每隔1分钟 执行0 1 * * * 1:00 执行0 */1 * * * 毎时0分 每隔1小时 执行0 * * * * 毎时0分 每隔1小时 执行2 8-20/3 * * * 8:02,11:02,14:02,17:02,20:02 执行30 5 1,15 * * 1日 和 15日的 5:30 执行0 23-7/2,8 * * * 晚上11点到早上8点之间每两个小时和早上八点 0 11 4 * 1-3 每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点 0 4 1 1 * 1月1日早上4点 1 * * * * 每小时(第一分钟)执行/etc/cron.hourly内的脚本 22 4 * * 0 每星期(周日凌晨4:22)执行/etc/cron.weekly内的脚本