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

2021-10-17 21:35:46 字數 1067 閱讀 4257

最近在為做一些邊邊角角的工作,現在有乙個需求要每天把mysql的資料庫dump出來到備份機器上面去.

看似簡單的任務也潛在了很多的需求,整理如下:

自動執行-crontab

指令碼的環境變數設定-由於通過crontab 啟動執行的指令碼環境變數沒有設定,需要在指令碼中設定環境變數

使用何種方式備份資料庫, 這裡使用mysqldump 工具

dump出來的備份檔案通過什麼方式拷貝到備份機器裡面 -scp

清理n天前失效的備份檔案.

ok 針對以上我們乙個乙個的來

1  自動執行-crontab

crontab -u 使用者名稱 -e

26 10 * * * /opt/mysql/bin/backupmysql.sh 1>/opt/mysql/bin/myserver02.log 2>&1

每天10點26分執行指令碼,並且把內容傳送到日誌檔案中,如果不希望有日誌也可用寫如下

26 10 * * * /opt/mysql/bin/backupmysql.sh 1>/dev/null 2>&1

2 指令碼的環境變數設定

講登入使用者下面的path 環境變數匯入出來

path=」環境變數「

export $path

這樣就能夠保證了備份機器·

3mysqldump

mysqldump –socket=/***x/***x  -uname -ppassword databasename>/myqdatabackup/myqdata.sql

由於在備份的時候報錯,所以收到的指出了socket檔案的路徑

4拷貝檔案到另外乙個機器 -使用scp命令進行檔案的拷貝

新增啊allowusers 新增使用者名稱

allowgroups 新增組名

2 在主機上面生成key,並且拷貝到備份機上,這樣scp命令在拷貝檔案的時候就不用輸入密碼了

ssh-keygen -t rsa

scp id_rsa.pub [email protected]/opt/mysql/.ssh/authorized_keys

使用  /var/log/secure 日誌進行問題的排查

mysql備份 MySQL備份指令碼

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

編寫自動備份bat指令碼

對於windows系統,我們可以使用bat指令碼來代替手工拷貝檔案備份.主要使用的語句有 1.xcopy 拷貝 2.md 建立 我的原始需求 按當前系統日期建立資料夾,並把指定要備份的目錄拷貝到該資料夾下.指令碼 echo off for f tokens 2 delims a in wmic os...

Python編寫備份程式指令碼

編寫backup.py指令碼,實現以下目標 1 需要支援完全和增量備份 2 周一執行完全備份 3 其他時間執行增量備份 4 備份檔案需要打包為tar檔案並使用gzip格式壓縮 import os import tarfile import hashlib import pickle from tim...