數據定時備份-運維

環境說明:
oa服務器:192.168.8.21
git服務器:192.168.30.13

備份服務器1:192.168.10.51
備份服務器2:192.168.10.52


1.免密登陸設置
oa服務器和git服務器上執行:
#直接回車生成公鑰和私鑰
ssh-kengen -t rsa
#進入用戶家目錄下的隱藏目錄
cd ~/.ssh
#查看是否生成
ls -al
#將公鑰拷貝到備份服務器:
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

#此步驟會提示輸入備份服務器的密碼進行驗證

#查看是否寫入本地授權文件
cat authorized_keys

#驗證 成功進入不會提示輸入密碼
ssh 192.168.10.51
ssh 192.168.10.52

2.oa服務器編寫備份腳本:
cat /data/backup-oa.sh
#!/bin/bash
#獲取當前時間
now=`date +"%Y-%m-%d-%H-%M-%S"`
#記錄日誌
echo "開始備份oa數據,日期:${now}" >> /opt/backup-oa.log
#打包oa文件
tar -Pcjf /data/${now}-oa-backup.tar.bz /data/tomcat7/webapps/oa
#打包數據庫文件
tar -Pcjf /data/${now}-oa-sql-backup.tar.bz /usr/local/mysql/data/oa1202
#備份mysql數據庫
mysqldump -h127.0.0.1 -uroot -proot123 --databases oa1202 | gzip > /data/${now}-oa-backup.sql.gz
#傳輸文件
scp /data/${now}-oa-backup.tar.bz [email protected]:/data
scp /data/${now}-oa-backup.tar.bz [email protected]:/data
scp /data/${now}-oa-sql-backup.tar.bz [email protected]:/data
scp /data/${now}-oa-sql-backup.tar.bz [email protected]:/data
scp /data/${now}-oa-backup.sql.gz [email protected]:/data
scp /data/${now}-oa-backup.sql.gz [email protected]:/data
#清理
rm -rf /data/${now}-oa-backup.tar.bz
rm -rf /data/${now}-oa-sql-backup.tar.bz
rm -rf /data/${now}-oa-backup.sql.gz
#獲取完成時間
now2=`date +"%Y-%m-%d %H:%M:%S"`
#完成日誌
echo "完成備份oa數據,日期:${now2}" >> /opt/backup-oa.log

#給腳本賦權:
chmod +x /data/backup-oa.sh

#編寫定時任務
每週星期六0點備份
crontab -e
0 0 * * 6 sh /data/backup-oa.sh

3.git服務器編寫備份腳本:
cat /data/backup-git.sh
#!/bin/bash
#獲取當前時間
now=`date +"%Y-%m-%d %H-%M-%S"`
#記錄日誌
echo "開始備份git數據,日期:${now}" >> /opt/backup-git.log
#打包git文件
tar -Pcjf /data/${now}-git-backup.tar.bz /data/gitblit/gitblit-1.8.0
#傳輸文件
scp /data/${now}-git-backup.tar.bz [email protected]:/data
scp /data/${now}-git-backup.tar.bz [email protected]:/data
#刪除文件
rm -rf /data/${now}-git-backup.tar.bz
#備份完成時間
now2=`date +"%Y-%m-%d %H:%M:%S"`
#完成日誌
echo "完成備份git數據,日期:${now2}" >> /opt/backup-git.log

#給腳本賦權:
chmod +x /data/backup-git.sh

#編寫定時任務:
每週星期日0點備份
crontab -e
0 0 * * 7 sh /data/backup-git.sh

4.驗證檢查:
登陸備份服務器,查看/data下的文件
ls -lh

這裏只是舉個例子,其他做備份也可以參考此例!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章