1. 测试的是内部一论坛数据库
  2. #!/bin/bash
    #######################
    #                     #
    # mysql backup script;#
    # created by macchen; #
    # date Jan 7 2013     #
    #                     #
    #######################
  3. PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
    export PATH
    source /etc/profile
  4. ########################variable###################################
  5. USER=root
    PASSWORD=123456
    DATABASE01=dzbbs
    DATABASE02=mysql
    DATE=`date +%Y%m%d%H%M`
  6. ##########################backup####################################
  7. mysqldump -u$USER -p$PASSWORD  $DATABASE01 > /data/mysqlbk/bbs$DATE.sql
  8. if [ $? -eq 0 ];then
  9.         echo "backup $DATABASE01 successed......" >> /data/mysqlbk/sqlback$DATE.log
  10. else
  11.         echo "backup failed,please check log......." >> /data/mysqlbk/error$DATE.log
  12. fi
  13. mysqldump -u$USER -p$PASSWORD $DATABASE02 > /data/mysqlbk/mysql$DATE.sql
  14. if [ $? -eq 0 ];then
  15.         echo "backup $DATABASE02 successed......" >> /data/mysqlbk/sqlback$DATE.log
  16. else
  17.         echo "backup failed,please check log......." >> /data/mysqlbk/error$DATE.log
  18. fi
  19. echo "=============$DATE===============" >> /data/mysqlbk/sqlback$DATE.log
  20. 然后扔在crontab中自动执行
  21. [root@www ~]# crontab -l
    0 23 * * * /bin/sh /root/backup.sh
  22.  
  23. ==========================crontab的用法及简单说明=================================
  24.              crontab -e
  25. PS:此命令默认以当前用户名创建一个任务计划文件,存放在/var/spool/cron下面
       执行后会发一封邮件给用户
  26. 添加的命令必须以如下格式:
     
                 * * * * * command path
  27. PS:前五个字段可以取整数值,指定何时开始工作,第六个域是字符串,即命令字段,
       其中包括了crontab调度执行的命令;各个字段之间用spaces和tabs分割。
  28. 前5个字段(*)分别表示:
     
           分钟:0-59
     
           小时:1-23
     
           日期:1-31
     
           月份:1-12
     
           星期:0-6(0表示周日)
  29. * ======表示任何时刻
    ,======表示分割,如第二字段的小时8,12,14 表示第八小时,第十二小时,第十四小时
    - ======表示连续的一个时间段,假如第二字段是2-5,表示第二小时至第五小时。
    /n =====表示每隔n的单位执行一次,假如第二字段是/2,表示第隔2小时执行一次任务。
  30. 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内的脚本
  31.   
[root@www mysqlbk]# ll
总用量 5480
-rw-r--r-- 1 root root 2293297  1月  7 23:00 bbs201301072300.sql
-rw-r--r-- 1 root root 2308778  1月  8 23:00 bbs201301082300.sql
-rw-r--r-- 1 root root  497368  1月  7 23:00 mysql201301072300.sql
-rw-r--r-- 1 root root  497700  1月  8 23:00 mysql201301082300.sql
-rw-r--r-- 1 root root     124  1月  7 23:00 sqlback201301072300.log
-rw-r--r-- 1 root root     124  1月  8 23:00 sqlback201301082300.log