linux備份

************linux服務器操作系統備份方法:

1、進老毛桃官網http://www.laomaotao.net/下載最新U盤啓動製作工具

2、製作U盤啓動,並用U盤啓動要備份的LINUX系統,啓動網絡,配置IP,映射10.10.14.197

3、開啓克隆工具Acronis truemiage,進行克隆


************linux服務器應用系統配置文件及系統重要配置文件自動備份方法:

一、ssh、scp、sftp密鑰對的生成

1、命令ssh-keygen -t rsa後一路回車

2、chmod 755 ~/.ssh

3、scp ~/.ssh/id_rsa.pub [email protected]:~/.ssh/

4、cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 特別注意此步驟不能複製粘貼,會出現換行符導致失敗

5、再用ssh scp sftp 之類的訪問10.10.14.197時,就不用輸入密碼

6、以上操作腳本在passwd.sh中

ssh-keygen -t rsa

chmod 755 ~/.ssh

scp ~/.ssh/id_rsa.pub [email protected]:~/.ssh/

ssh 10.10.14.197

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

exit

二、在/root/linuxbak/目錄下建立批處理腳本

先mkdir /root/linuxbak建立目錄,copy以下四個文件到該目錄

a、linux.sh

#!linux系統的計劃任務配置文件:/var/spool/cron/root

#!自啓動配置文件/etc/rc.d/rc.local

#!linux服務配置文件chkconfig --list |grep 3:啓用 >>/root/linuxbak/serviceslist

#!IP配置文件(含網卡綁定情況)/etc/sysconfig/network-scripts/ifcfg-eth* /etc/sysconfig/network-scripts/ifcfg-bond* /etc/modprobe.conf

#!DNS配置文件/etc/resolv.conf

#!主機名配置文件/etc/sysconfig/network /etc/hosts

#!linux版本配置文件/etc/issue

#!linux內核版本配置文件/proc/version

#!linux同步配置文件/etc/rsyncd.conf

#!linux共享配置文件/etc/samba

#!linux SSH配置文件/etc/ssh/sshd_config

#!linux http配置文件/etc/httpd/conf/httpd.conf /var/www/html /var/www/scripts

#!需要其他配置文件繼續添加便可。

chkconfig --list |grep 3:啓用 >>/root/linuxbak/serviceslist

cd /root

tar -zcvf /root/linuxbak/baklinux.tar.gz /var/spool/cron/root /etc/rc.d/rc.local /root/linuxbak/ /etc/sysconfig/network-scripts/ifcfg-eth* /etc/sysconfig/network-scripts/ifcfg-bond* /etc/modprobe.conf /etc/resolv.conf /etc/sysconfig/network /etc/hosts /etc/issue /proc/version /etc/rsyncd.conf /etc/samba /etc/ssh/sshd_config /etc/httpd/conf/httpd.conf /var/www/html /var/www/scripts

rm -rf /root/linuxbak/serviceslist

b、tar.sh

#!打包要備份的文件及目錄(以下是核新系統需要備份的配置文件及linux系統部分系統文件包)

#!備份文件名格式bak+IP+RQ.tar.gz

tar -zcvf /root/linuxbak/bak`ifconfig  | grep 'inet addr:'| grep -v '127.0.0.1' |cut -d: -f2 | awk '{ print $1}'`-`date +%y%m%d`.tar.gz /hxapp/hqserver/conf /hxapp/hqserver/bin/E*.dat /hxapp/hqserver/etc/ /hxapp/hqserver/sync/ /root/linuxbak/baklinux.tar.gz

c、scp.sh

#!將備份文件copy到14.197

scp /root/linuxbak/bak`ifconfig  | grep 'inet addr:'| grep -v '127.0.0.1' |cut -d: -f2 | awk '{ print $1}'`-`date +%y%m%d`.tar.gz  [email protected]:/data/dump/jzjy/lys/linuxbak/

d、delbak.sh

#!刪除本地備份文件

rm -rf /root/linuxbak/bak`ifconfig  | grep 'inet addr:'| grep -v '127.0.0.1' |cut -d: -f2 | awk '{ print $1}'`-`date +%y%m%d`.tar.gz 

rm -rf /root/linuxbak/baklinux.tar.gz

三、設置定時任務,每週五備份一次,根據tar時間設置,核新設置5分鐘間隔。

執行如下腳本crond.sh:

echo "25 16 * * 5 /bin/sh /root/linuxbak/linux.sh" >> /var/spool/cron/root

echo "30 16 * * 5 /bin/sh /root/linuxbak/tar.sh" >> /var/spool/cron/root

echo "35 16 * * 5 /bin/sh /root/linuxbak/scp.sh" >> /var/spool/cron/root

echo "40 16 * * 5 /bin/sh /root/linuxbak/delbak.sh" >> /var/spool/cron/root

或命令crontab -e編輯加入:crontab -l查看

25 16 * * 5 /bin/sh /root/linuxbak/linux.sh

30 16 * * 5 /bin/sh /root/linuxbak/tar.sh

35 16 * * 5 /bin/sh /root/linuxbak/scp.sh

40 16 * * 5 /bin/sh /root/linuxbak/delbak.sh

四、配置過程只需以上三步便可,檢查時根據定時任務每週五下午4:50分檢查14.197對應目錄文件情況,並定期刪除歷史備份。

五、備份恢復

1、將備份文件從14.197複製到本地目錄,注:*代表要恢復的文件

scp  [email protected]:/data/dump/jzjy/lys/linuxbak/bak*.tar.gz  /root/linuxbak/

2、解包tar -zxvf /root/linuxbak/bak*.tar.gz --exclude=tmp/linuxbak/baklinux.tar.gz -C / 解壓核新系統配置文件到根目錄,linux配置文件用於對照設置用。tar -tzvf bak*.tar.gz爲查看文件列表

3、如ssh端口變化,命令相應變化,如:scp -P 6789 [email protected]:/root/lys /root/linuxbak

4、scp命令不能在底版本上執行copy高版本文件,如14.197是AS5,核新服務器是AS5,會報錯

5、配置備份還可以安裝第三方linux同步軟件,如rsync,但這會增加linux負擔,不建議採用。

6、linux重新安裝時最好與初始安裝時版本一致,補丁升級做好配置變更說明。

7、建議配置打包前關閉相關進程。

8、以上步驟均通過本人測試。

六、延伸使用

1、根據以上實現方式,可做好日常linux的監控腳本,監控的內容都導入到/root/monitor.log,同時copy到14.197,再在14.197上進行各服務器log文件合併,再在一臺windows監控機上安裝一提醒程序定時開啓合併的log文件,供日常檢查。

該程序在工作時段(8:00-22:00),每隔一個小時執行一次;在其他時段每隔兩小時執行一次。

如:*  8-22/1,22-7/2  *  *  *  sh  /monitor.sh

2、


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