Shell指令碼自動備份資料庫

2022-08-23 00:27:11 字數 1448 閱讀 5897

需求:自動備份資料庫

1、編寫指令碼

# mkdir -p /data/scripts

# vim /data/scripts/auto_backup_mysql.sh

#!/bin/bash

# this script is used backup mysql

databases

# date:20180630

# author:linus

# 不使用變數的資料庫備份命令  mysqldump -uroot -ppass123 -h192.168.199.160 --databases bbs > /data/backup/mysql/bbs.mysql

# 其中 --databases 後面接的是資料庫名,即需要備份的資料庫名稱

# 

1、定義資料庫鏈結、目標庫資訊

my_user="

root

" # 資料庫的使用者名稱,不是linux系統的使用者名稱

my_pass="

pass123

" # 資料庫的密碼

my_host="

192.168.199.160

" # 資料庫的ip位址

my_conn="

-u$ -p$ -h$

"my_db1="

bbs"

my_db2="

aliyun"#

2、定義備份目錄、工具、時間 、檔名主體

mkdir -p /data/backup/mysql

bk_dir="

/data/backup/mysql/

"bk_cmd=`which

mysqldump`

bk_time=`date +%y%m%d-%h%m`

file_name_1="

$-$"

file_name_2="

$-$"# 3

、先導出為.sql檔案,然後再壓縮(完成後刪除原檔案)

cd $

$ $ --databases $ >$.sql

$ $ --databases $ >$.sql

`which

tar` zcf $.tar.gz $.sql --remove &> /dev/null

`which

tar` zcf $.tar.gz $.sql --remove &> /dev/null

2、給予指令碼執行許可權

# chmod u+x /data/scripts/auto_backup_mysql.sh

3、設定計畫任務,自動執行指令碼(如設定每天凌晨3點自動執行指令碼)

# crontab -e

0 3 * * * /data/scripts/auto_backup_mysql.sh;/sbin/hwclock -w

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