Sheel指令碼之備份MySQL

2021-10-04 13:31:56 字數 1317 閱讀 7198

指令碼寫法《我的資料庫是docker >>   你們不是的話  把 docker exec -i mysql3308  這個命令刪掉即可

#!/bin/bash

echo  "---------倒計時開始備份-------------"

for((i=0;i<=3;i++))

dosleep 1

echo "《 $i 》"

done

backup=/data/backup/db/

datetime=$(date +%y_%m_%d_%h%m%s)

echo "備份路徑是 $backup/$datetime.tar.gz"

host=localhost

db_user=root

db_pwd=103658

dk=3308  #埠

#備份資料庫

database=db3

echo "$datetime"

#如果備份的路徑存在就使用、沒有就建立

[ ! -d "$backup/$datetime" ] && mkdir -p "$backup/$datetime"

#執行備份資料庫命令

docker exec -i mysql3308  mysqldump -h $host -p$dk -u$ -p$ $database | gzip > $backup/$datetime/$datetime.sql.gz

#進入備份的路徑

cd $backup

#打包tar -zcvf $datetime.tar.gz $datetime

#刪除臨時目錄

rm -rf $backup/$datetime

#刪除10 天前的備份檔案

find $backup -mtime +10 -name "*.tar.gz" -exec rm -rf {} \;

echo "*****===備份檔案成功**********="

使用這個定時任務命令

crontab -e

第乙個* 代表 每一分鐘執行一次

第二個*代表 每一小時執行一次 具體參考他們的寫法

./mysql_db_backup.sh 是指令碼的名稱

編寫mysql備份指令碼 mysql 備份指令碼的編寫

最近在為做一些邊邊角角的工作,現在有乙個需求要每天把mysql的資料庫dump出來到備份機器上面去.看似簡單的任務也潛在了很多的需求,整理如下 自動執行 crontab 指令碼的環境變數設定 由於通過crontab 啟動執行的指令碼環境變數沒有設定,需要在指令碼中設定環境變數 使用何種方式備份資料庫...

mysql備份 MySQL備份指令碼

第乙個指令碼 bin bash mysql備份指令碼bak dir data backup date y m d mysqldb 資料庫名mysqluser 使用者mysqlpwd 密碼mysqlcmd usr bin mysqldumpmysqlser 資料庫伺服器mysqlport 埠if d ...

mysql的備份指令碼 mysql的備份指令碼

1 描述 我相信很多朋友在工作都都會有這種需求,老闆或領導讓你每天都要備份mysql資料庫,你該如何實現呢,是每天到一定的時間在伺服器上敲一遍mysql的備份命令,還是想寫個指令碼,定時定點的自動備份呢?我相信大家都想讓它自動備份,接下來我通 shell指令碼 定時任務 的方式來實現自動備份mysq...