這個指令碼雖然比較簡單,但覺得會幫我們很大的忙!
簡單說一下:
db_user=」user」 為使用者名稱
db_pass=」password」 為密碼
mkdir /home/mysqlbak/$date 指定並建立要備份到的目錄
bin_dir=」/usr/local/mysql/bin」 指定你的mysql的位置
bck_dir=」/home/mysqlbak/$date」 將你的資料庫備份到以日期為目錄的資料夾下
$bin_dir/mysqldump –opt -u$db_user -p$db_pass discuz > $bck_dir/discuz.sql
這個就是將你要備份的資料庫新增進來就可以備份了,乙個庫新增一條,」discuz 」 就是要備份的庫名,」discuz.sql」是備份出來的資料檔名.
指令碼如下:
linux系統中mysql自動備份指令碼
mysql
資料庫中儲存著**最核心最寶貴的資料,如果因為不可**的原因導致資料損壞或丟失,對乙個**的打擊是毀滅性的,一次又一次的教訓提醒著我們一定要做好備份,但是手工備份確實比較麻煩,每天都要手工操作一次,如果站多的話簡直是一種折磨,不過好在我們可以通過編寫好的指令碼讓系統自動備份資料,省去體力勞動。下面收集了幾種自動備份
mysql
資料庫的指令碼,一般的站夠用了,但要注意:如果資料庫過大,或者系統設定不當,都可能導致自動備份失敗,因此即使採用了自動備份,也要記得經常檢視是否備份成功,以及備份的資料是否完整、可用。
只需要將下面的指令碼內容儲存為
mysqlbackup.sh
,並新增到
crontab
即可。如在
ssh中輸入:
crontab -e
輸入:00 00 * * * /home/website/mysqlbackup.sh
即為每天
00:00
自動執行備份指令碼。 1
、自動匯出
mysql
備份,並上傳到指定
ftp
#!/bin/bash
#ftp設定
host=ftp_ip
username=ftp_user
passwd=ftp_passwd #
備份mysql
並匯出到檔案
mysqldump -u
使用者-p
密碼資料庫名
> $(date +%y%m%d)-
資料庫名
.sql #
壓縮備份檔案
tar -zcvf $(date +%y%m%d)mysql
資料庫名
.tar.gz $(date +%y%m%d)* #
上傳到ftp
echo "open $host
user $username $passwd
bincd /hzg/
prompt off
mput $(date +%y%m%d)mysql
資料庫名
.tar.gz
printf "/n"
close
bye"|ftp -i -n #
刪除舊的備份檔案
rm -rf $(date +%y%m%d)-
資料庫名
.sql $(date +%y%m%d)mysql
資料庫名
.tar.gz
#rm -rf $(date +%y%m%d)*
rm -rf $(date +%y%m%d)*
2、自動備份
mysql
資料庫,併發送到指定
email #
備份並匯出
mysql
資料庫到檔案
mysqldump -uroot -ppassword --databases db1 db2 db3 > /home/website/backups/databackup.sql #
壓縮備份檔案
tar zcf /home/website/backups/databackup.sql.tar.gz /home/website/backups/ #
傳送到指定郵箱
echo "主題:
資料庫備份
" | mutt -a /home/website/backups/mysqlbackup.sql.tar.gz -s "內容:
資料庫備份
刪除舊的備份檔案
rm -r /home/website/backups/*
將-ppassword
中的password
換為自己的
root
密碼,將
db1 db2 db3
換為你需要備份的資料庫名。路徑和郵箱等自己替換即可。
也可以用下面的命令直接匯出
mysql
備份為壓縮檔案:
mysqldump -u
使用者-p
密碼資料庫名
| gzip -c > $(date +%y%m%d)-
資料庫名
.sql.
Shell 備份MySQL資料庫
建立備份指令碼,並且自動刪除十天以前的備份檔案 bin bash 備份資料庫命令 mysqldump hhadoop1 p3306 uroot proot mydb tmp.sql 備份到此目錄 mysqldump dir usr data mysql dump 檢視mysql備份目錄是否存在 if...
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...