簡單mysql數據庫備份一例及crontab說明

 

    測試的是內部一論壇數據庫
  1. #!/bin/bash
    #######################
    #                     #
    # mysql backup script;#
    # created by macchen; #
    # date Jan 7 2013     #
    #                     #
    #######################
  2. PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
    export PATH
    source /etc/profile

  3. ########################variable###################################
  4. USER=root
    PASSWORD=123456
    DATABASE01=dzbbs
    DATABASE02=mysql
    DATE=`date +%Y%m%d%H%M`
  5. ##########################backup####################################
  6. mysqldump -u$USER -p$PASSWORD  $DATABASE01 > /data/mysqlbk/bbs$DATE.sql
  7. if [ $? -eq 0 ];then
  8.         echo "backup $DATABASE01 successed......" >> /data/mysqlbk/sqlback$DATE.log
  9. else
  10.         echo "backup failed,please check log......." >> /data/mysqlbk/error$DATE.log
  11. fi
  12. mysqldump -u$USER -p$PASSWORD $DATABASE02 > /data/mysqlbk/mysql$DATE.sql

  13. if [ $? -eq 0 ];then
  14.         echo "backup $DATABASE02 successed......" >> /data/mysqlbk/sqlback$DATE.log
  15. else
  16.         echo "backup failed,please check log......." >> /data/mysqlbk/error$DATE.log
  17. fi
  18. echo "=============$DATE===============" >> /data/mysqlbk/sqlback$DATE.log
  19. 然後扔在crontab中自動執行
  20. [root@www ~]# crontab -l
    0 23 * * * /bin/sh /root/backup.sh
  21.  
  22. ==========================crontab的用法及簡單說明=================================
  23.              crontab -e
  24. PS:此命令默認以當前用戶名創建一個任務計劃文件,存放在/var/spool/cron下面
       執行後會發一封郵件給用戶
  25. 添加的命令必須以如下格式:
     
                 * * * * * command path
  26. PS:前五個字段可以取整數值,指定何時開始工作,第六個域是字符串,即命令字段,
       其中包括了crontab調度執行的命令;各個字段之間用spaces和tabs分割。
  27. 前5個字段(*)分別表示:
     
           分鐘:0-59
     
           小時:1-23
     
           日期:1-31
     
           月份:1-12
     
           星期:0-6(0表示週日)
  28. * ======表示任何時刻
    ,======表示分割,如第二字段的小時8,12,14 表示第八小時,第十二小時,第十四小時
    - ======表示連續的一個時間段,假如第二字段是2-5,表示第二小時至第五小時。
    /n =====表示每隔n的單位執行一次,假如第二字段是/2,表示第隔2小時執行一次任務。

  29. 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內的腳本
  30.   
  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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章