Shell脚本自动备份数据库
生活随笔
收集整理的這篇文章主要介紹了
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: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${MY_USER} -p${MY_PASS} -h${MY_HOST}" 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="${MY_DB1}-${BK_TIME}" FILE_NAME_2="${MY_DB2}-${BK_TIME}"# 3、先導出為.sql文件,然后再壓縮(完成后刪除原文件) cd ${BK_DIR} ${BK_CMD} ${MY_CONN} --databases ${MY_DB1} > ${FILE_NAME_1}.sql ${BK_CMD} ${MY_CONN} --databases ${MY_DB2} > ${FILE_NAME_2}.sql `which tar` zcf ${FILE_NAME_1}.tar.gz ${FILE_NAME_1}.sql --remove &> /dev/null `which tar` zcf ${FILE_NAME_2}.tar.gz ${FILE_NAME_2}.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
?
?
轉載于:https://www.cnblogs.com/relax1949/p/9247661.html
總結
以上是生活随笔為你收集整理的Shell脚本自动备份数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 聊聊HystrixEventNotifi
- 下一篇: 4 .2 .4 配置存储系统