shell指令碼備份資料庫

2021-08-20 02:08:33 字數 835 閱讀 6817

自學使用shell指令碼備份資料庫,記錄一下:

#!/bin/bash

#定義變數

backdir=/mysql_back/`date +%y-%m-%d-%t`

#mysqldb=*** 要備份的資料庫

mysqldb=mysql

mysqlusr=root

#手動輸入資料庫密碼

read -p "enter your password:" -s mysqlpw  

#判斷是否是root使用者

if        [ $uid -ne 0 ];then

echo "必須使用root使用者執行!!!!"

sleep 1

exit 0

fi#判斷目錄是否存在,不存在建立

if        [ ! -d $backdir ];then

mkdir -p $backdir

fi#使用mysqldump備份資料庫

/usr/bin/mysqldump -u$mysqlusr -p$mysqlpw  $mysqldb > $backdir/$mysqldb.sql

#如果出現密碼或者其他錯誤,停止執行

if        [ $? -ne 0 ];then

echo "error"

sleep 1

exit 0

fi#將備份的資料庫打包壓縮

cd $backdir

tar zcf $mysqldb.tar.gz $mysqldb.sql

find . -mtime +50 | xargs rm -f  #刪除50天以前的備份

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...

Shell指令碼自動備份資料庫

需求 自動備份資料庫 1 編寫指令碼 mkdir p data scripts vim data scripts auto backup mysql.sh bin bash this script is used backup mysql databases date 20180630 author...