#!/bin/sh# 備份資料庫
# mysql 使用者名稱密碼
mysql_user=root
mysql_pass=root
backup_dir=/data/backup/mysql
data_dir=/data/backup/dbdata
# 查詢mysql中所有資料庫名字
sql_string="select schema_name as db from information_schema.schemata where schema_name not in ('mysql', 'information_schema', 'performance_schema');"
dbs=$(echo $sql_string | mysql -u$mysql_user -p$mysql_pass -bs)
# 當前日期
date=$(date -d '+0 days' +%y%m%d%h%m)
# 打包名稱
zip_name="mysql_"$date".gz"
# 刪除乙個月之前的資料庫備份
find $backup_dir -name "mysql_*.gz" -type f -mtime +30 -exec rm {} \;
# 迴圈備份資料庫
for dbname in $dbs
do if [ ! -d $ ]; then
mkdir -p $
fisql_file=$dbname-$date".sql"
/usr/bin/mysqldump -u$mysql_user -p$mysql_pass $dbname > $data_dir/$sql_file
done
# tar打包所有sql檔案
tar -czvpf $backup_dir/$zip_name $data_dir
# 打包成功後刪除sql檔案
if [ $? = 0 ]; then
rm -r $data_dir
fi
LINUX shell指令碼練習 備份檔案(1)
接觸linux時間還很短,利用學到的一點知識編寫了乙個shell指令碼的小練習程式,來幫助自己熟悉linux系統和簡單的指令碼程式設計。寫乙個指令碼來備份乙個檔案。要求 1,先建立乙個備份目錄 opt backup 先判斷有沒有,沒有則建立 2,指令碼名backup.sh,執行的時候後面接乙個當前目...
分享我的自動備份指令碼 Linux shell
linux shell 乙個自動備份指令碼 有時自己在拍照的時候希望能把自己的 實時的備份到乙個目錄,但有經常有新的 更新。所以我就寫了乙個這樣的指令碼,它可一把你備份目錄沒有的檔案實時的進行備份,目前這個指令碼的缺點是他這能備份你備份目錄不存在的檔案 但不能備份你那些經常修改的文件之類的。所以目前...
Linux Shell指令碼基礎
shell指令碼在處理自動迴圈或大的任務方面可節省大量時間,且功能強大。任何指令碼都可能有注釋,加注釋需要此行的第乙個字元為 直譯器對此行不予解釋。指令碼不是複雜的程式,它是按行解釋的。指令碼第一行總是以 bin sh開始,這段指令碼通知shell使用系統上的 bourne shell直譯器。指令碼...