#!/bin/sh
# 備份資料庫
# mysql 使用者名稱密碼
mysql_user=root
mysql_pass=root
backup_dir=/
data
/backup/mysql
data_dir=/
data
/backup/dbdata
rm-f $backup_dir/*
# 查詢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
".tar.gz"
# 刪除乙個月之前的資料庫備份
find $backup_dir
-name "mysql_*tar.gz"
-type f -mtime +30 -exec rm
\;# 迴圈備份資料庫
for dbname in $dbs
doif
["$dbname"
!= "庫名"
]; then
continue
fiif[!
-d $
]; then
mkdir -p $
fisql_file=$dbname
-$date
".sql"
/usr/local/mysql/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
shell指令碼備份資料庫
自學使用shell指令碼備份資料庫,記錄一下 bin bash 定義變數 backdir mysql back date y m d t mysqldb 要備份的資料庫 mysqldb mysql mysqlusr root 手動輸入資料庫密碼 read p enter your password ...
Shell 定時備份資料庫指令碼
每天凌晨 2 10 備份 資料庫 atguigudb 到 data backup db 備份開始和備份結束能夠給出相應的提示資訊 備份後的檔案要求以備份時間為檔名,並打包成 tar.gz 的形式,比如 2018 03 12 230201.tar.gz 在備份的同時,檢查是否有 10 天前備份的資料庫...
shell指令碼定時備份資料庫
bin bash 功能說明 本功能用於備份mysql資料庫 path bin sbin usr bin usr sbin usr local bin usr local sbin usr local mysql bin export path 資料庫使用者名稱 dbuser 資料庫密碼 dbpass...