MySQL定時備份資料庫shell指令碼

2021-10-07 15:27:35 字數 1492 閱讀 8929

資料庫匯出,主要用到mysqldump 命令

mysqldump  -h$db_host

-u$db_user

-p$db_user_passwd

$dbname > $todaybackuppath

/$dbname

.sql

具體指令碼如下:

db_host='localhost'

db_user='root'

db_user_passwd='***'

db_name='/home/dbbackup/dbnames.txt'

backup_path='/home/dbbackup/mysql/'

printf "createing backup folder!\n"

datetime=$(date +

%y%m%d_%h%m)

todaybackuppath="$backup_path

$datetime"

#建立備份檔案夾if[

!-d "$todaybackuppath"];

then

printf "create dir $todaybackuppath \n"

mkdir -pv "$todaybackuppath"

fiprintf "checking for databases names file\n"

#定義執行備份指令碼,讀取檔案中的資料庫名稱,注意按行讀寫,不校驗是否存在該庫

run_backup (

)#執行壓縮的函式

run_tar(

)#刪除30天前的檔案

del_30day_backup_file(

)-name "*.tar.gz"

-mtime +30 -exec rm

-rfv \;

}_main(

)_main

dbnames.txt中內容

指令碼中的db_host ,db_user_passwd,db_name,backup_path 根據情況自己更改。dbnames.txt 中一行只能有乙個資料庫名

crontab 使用詳解

crontab -e

#將下面這條指令碼意思是 每天晚上23點50分鐘時呼叫 /home/firm-pms/39.dump.sh 指令碼

50 23 ***

/home/firm-pms/39.dump.sh >> /home/firm-pms/back_39_log.log

crontab -l 檢視定時任務

mysql 定時備份資料庫

完成定時備份資料庫需要定時排程器和資料庫備份指令碼 windows上實現定時備份mysql schtasks.exe用於安排命令和程式在指定時間內執行或定期執行,它可以從計畫表中新增和刪除任務 按需要啟動和停止任務 顯示和更改計畫任務。備份資料庫的指令碼mysql mydb backup.bat m...

mysql定時備份資料庫 linux

編寫備份指令碼vi usr sbin mysql dy backup.sh bin bash 備份路徑 backup data backup sql dy 當前時間 datetime date y m d h m s echo 備份開始 echo 備份檔案存放於 datetime.tar.gz 資料...

mysql定時備份資料庫(三)

mysql定時備份資料庫 1.編寫shell指令碼 bin bash 備份目錄 back dir data mysql data bak 備份檔案名 back filename django05 date y m d h m s sql 備份庫 mysqldump uroot p123456 dja...