測試的是內部一論壇數據庫
- #!/bin/bash
#######################
# #
# mysql backup script;#
# created by macchen; #
# date Jan 7 2013 #
# #
#######################- PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH
source /etc/profile
########################variable###################################- USER=root
PASSWORD=123456
DATABASE01=dzbbs
DATABASE02=mysql
DATE=`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 -l
0 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內的腳本- [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