建立備份指令碼,並且自動刪除十天以前的備份檔案
#!/bin/bash
#備份資料庫命令
#mysqldump -hhadoop1 -p3306 -uroot -proot mydb>/tmp.sql
#備份到此目錄
mysqldump_dir=/usr/data/mysql/dump/
#檢視mysql備份目錄是否存在
if test ! -e $mysqldump_dir
then
mkdir -p $mysqldump_dir
fidatetime=$(date +%y_%m_%d_%h_%m_%s)""$random
echo "*****
*****
*****
*****
*****
**開始備份mysql**
*****
*****
*****
*****
*****
***"
echo $mysqldump_dir$datetime"".sql
#備份資料庫
mysqldump -hhadoop1 -p3306 -uroot -proot mydb>$mysqldump_dir$datetime"".sql
cd $mysqldump_dir
tar -czvf $datetime.tar.gz $datetime"".sql
rm -rf $datetime"".sql
echo "*****
*****
*****
*****
*****
*****備份完畢*****
*****
*****
*****
*****
*******"
echo "*****
*****
*****
*****
*以下是伺服器存在的sql指令碼*
*****
*****
*****
*****
***"
ls -l -h $mysqldump_dir
echo "*****
*****
*****
*****
**即將刪除十天外的sql指令碼**
*****
*****
*****
*****
***"
find $mysqldump_dir -mtime +10 -name "*.tar.gz" -exec ls -l -h {} \;
find $mysqldump_dir -mtime +10 -name "*.tar.gz" -exec rm -rf {} \;
echo "*****
*****
*****
*****
*****
*****執行成功*****
*****
*****
*****
*****
*******"
定時任務
需求:每天12:30分執行一次
crontab -e
3012 * * * /opt/user/mysqldump.sh
service crond restart
以下是翻閱的一些資料,感謝以下作者
mtime詳細說明
find -exec詳細說明
SHELL 備份Mysql資料庫
這個指令碼雖然比較簡單,但覺得會幫我們很大的忙!簡單說一下 db user user 為使用者名稱 db pass password 為密碼 mkdir home mysqlbak date 指定並建立要備份到的目錄 bin dir usr local mysql bin 指定你的mysql的位置 ...
mysql資料庫備份shell指令碼
bin bash author george zheng 2012 03 12 version 1.2 myuser root mypass k943587 djj as host localhost date date i name date y m d h m s backupdir home ...
shell指令碼備份mysql資料庫
獲取mysql伺服器所有資料庫名稱,過濾掉不需要備份的資料庫 通過mysqldump來for迴圈匯出所有的資料庫的sql檔案 用zip加密壓縮所有的sql檔案 定期進行資料清理工作 bin bash 02.03.1.資料庫資訊定義 04.mysql host 192.168.1.1 05.mysql...