最近在為做一些邊邊角角的工作,現在有乙個需求要每天把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...