完全なネットワークのデータバックアップソリューション

1つのプロジェクトのバックアップ環境

既知の3サーバーのホスト名は、以下の表にWEB01、バックアップ、nfs01、ホスト情報です:

サーバー説明 WAN IP IPネットワーク ホスト名
Webサーバ 10.0.0.7/24 172.16.1.7/24 WEB01
NFSサーバストレージ 10.0.0.31/24 172.16.1.31/24 nfs01
rsyncのバックアップサーバ 10.0.0.41/24 172.16.1.41/24 バックアップ

2つのプロジェクトのバックアップの要件

次のように具体的な要件は次のとおりです。
(1)バックアップディレクトリには、すべてのサーバーが/バックアップされている必要があります。
(2)バックアップ対象のプロファイルシステムが含まれるが、これらに限定されない:
    定期的なタスクおよびサービスの設定ファイル(に/ var / spool / cron / (ルート) WebサーバとNFSのため)。
    B。スタートアップコンフィギュレーションファイル(/etc/rc.localの)(、適切なWebサーバとNFS)からのブート。
    C。毎日scriptsディレクトリ(/サーバー/スクリプト)(適したWebサーバとNFS)。
    D.のiptablesファイアウォールやfirewalldプロファイル(、/ etc / sysconfig / iptables内または/ etc / firewalld)(ウェブサーバとNFSのため)。
    すなわち下では、それをバックアップするために必要なものを自分で考えますか?
(3)Webサイトのディレクトリサーバは(は/ var / HTML / WWW)とする ( 適したWebサーバ)。
(4)Webサーバアクセスログパスは(Webサーバ用)(/アプリ/ログ)であると仮定されます。
バックアップデータの7日間を詰めることができた後、(5)Webサーバは、(あまりにも多くのハードディスクがいっぱいになるため、ローカル、以上の7日間何も保持していない)
保持したまま、最後の6ヶ月を保持する(6)バックアップサーバ上で、バックアップデータをデータのすべての週6ヶ月前
(7)バックアップディレクトリを保存するために、データのIPネットワーク・サーバをバックアップするバックアップサーバに応じて、バックアップファイルが時系列名で保存されている上。
(8)データの完全なバックアップを確保する必要が正しいか、バックアップしたデータはバックアップサーバをチェックするために、システム管理者のメールボックスへのバックアップの成功と失敗の結果情報
ウェブサイトの写真を達成するために、NFSストレージサーバーをセットアップし(9)、共有アクセサリー
(10)NFSリアルタイムデータのバックアップ保存するための
 
要件の概要を
(1)00時毎晩パッケージ全体のバックアップシステムの構成ファイル、Webサイトのアクセスログとプログラムディレクトリと、Webサーバー上のrsyncコマンドを経由して、バックアップサーバのバックアップのバックアップ保存を押してください。
(2)00時毎晩、rsyncをプッシュコマンドによるバックアップサーバーのバックアップ上のNFSサーババックアップシステム・コンフィギュレーション・ファイルにパッケージ全体、およびバックアップの保持。
アイデア:
バックアップアイデアは日付によってローカルパッケージ最初に、その後、バックアップサーバのバックアップにプッシュ、バックアップは解凍ファイルに入ることが完了すると、ウェブサーバとコンテンツ、NFSストレージサーバがあるかどうかを確認することができ、実際の作業は、すべてのサーバーであります。

3プロジェクトのバックアップ・ロジックチャート

1.JPG

プロジェクト構成の4実装

(1)まず、バックアップなど、すべての3台のサーバのバックアップディレクトリ

mkdir /backup       #web01,nfs01,backup服务器都要创建backup

プロファイルシステム(2)は、それだけにバックアップするために限定されるものではない
    。タイミングタスクサービスプロファイル(/ VAR /スプール/ cronを/ (ルート) ウェブサーバーとNFS用)。
    B。スタートアップコンフィギュレーションファイル(/etc/rc.localの)(、適切なWebサーバとNFS)からのブート。
    C。毎日scriptsディレクトリ(/サーバー/スクリプト)(適したWebサーバとNFS)。
    D.のiptablesファイアウォールやfirewalldプロファイル(、/ etc / sysconfig / iptables内または/ etc / firewalld)(ウェブサーバとNFSのため)。
     

cd /
tar zchf $Dir_info/$IP_info/system_backup_$(date +%F_星期%w).tar.gz ./var/spool/cron/root ./etc/rc.local ./server/scripts ./etc/sysconfig/iptables
# h:表示将源文件也压缩

(3)Webサイトのディレクトリサーバは(は/ var / HTML / WWW)とする(適したWebサーバ)。

[root@web01 ~]# mkdir /var/html/www -p

(4)Webサーバアクセスログパスは(Webサーバ用)(/アプリ/ログ)であると仮定されます。

[root@web01 ~]# mkdir /app/logs -p

バックアップデータパッケージの7日後(5)Webサーバー。

find /backup -type f -mtime +7 -name "*.tar.gz"|xargs rm 2>/dev/null
2>/dev/null:如果没有7天之前的数据会产生错误报告信息,因此将错误信息追加到/dev/null,不会产生错误信息。

半年前の週のすべてのデータを保持したまま(6)バックアップサーバ、バックアップデータの最後の6ヶ月を保ちます。

find /backup -type f -mtime +180 -name "*.tar.gz"|xargs rm
#   方法一:在文件名称中显示星期信息
#   data+%A/date +%w
find /backup/ -type f -name "*.tar.gz" -mtime +180 ! -name "*星期1.tar.gz"|xargs rm 2>/dev/null
#   方法二:将周一数据单独保存
#   今天是周一
mkdir /backup/week01
rsync -avz /backup/week01 [email protected]::backup/week01/
find /backup/ -path "/backup/week01" -prune -o -type f -name "*.tar.gz" -print |xargs rm

(7)バックアップディレクトリを保存するために、データIPネットワーク・サーバをバックアップするバックアップサーバに応じて、バックアップファイルは、時系列の名前で保存されます。

[root@backup ~]#    mkdir /backup/172.16.1.7 172.16.1.31

(8)データの完全なバックアップを確実にする必要がバックアップサーバ上でチェックする正しい、バックアップされたデータは、システム管理者のメールボックスへのバックアップの成功と失敗の結果情報であり、
 

rsync -avz /backup/ [email protected]::backup --password-file=/etc/rsync.password
md5sum /backup/172.16.1.31/system_backup_2019-07-18_星期4.tar.gz >/backup/172.16.1.31/finger.txt
####    md5值追加给finger.txt(指纹文件)
md5sum -c finger.txt        ### 自动对比md5值

 

vim /etc/mail.rc
set [email protected] smtp=smtp.163.com 
set [email protected] smtp-auth-password=ichn123456 smtp-auth=login
#   将这两条命令添加到最后一行
systemctl restart postfix.service   #   重启邮件
echo "linux ichn62"|mail -s "test_mail" [email protected] #   测试邮件是否能发送
mail -s "test_mail" [email protected] </etc/hosts                     # 测试邮件是否能发送

コマンド上記のスクリプト仕上げ
 

mkdir /server/scripts/  #创建脚本目录
[root@web01 scripts]#vi system_backup.sh 
#!/bin/bash

Dir_info="/backup"
IP_info="$(hostname -i)"

# 创建本地备份目录
mkdir -p $Dir_info/$IP_info

# 创建本地备份压缩文件,备份站点目录和日志目录
cd /
tar zchf $Dir_info/$IP_info/system_backup_$(date +%F_星期%w).tar.gz ./var/spool/cron/root ./etc/rc.local ./server/scripts ./etc/sysconfig/iptables
tar zchf $Dir_info/$IP_info/web_backup_$(date +%F_星期%w).tar.gz ./var/html/www/
tar zchf $Dir_info/$IP_info/web_log_$(date +%F_星期%w).tar.gz ./app/logs/

# 生成数据指纹信息
find $Dir_info/$IP_info/ -type f  -name "*.tar.gz" -mtime -1|xargs md5sum >$Dir_info/$IP_info/finger.txt

# 传输备份数据
rsync -az $Dir_info/ [email protected]::backup --password-file=/etc/rsync.password

# 删除七天以前备份数据
find $Dir_info -type f -mtime +7 -name "*.tar.gz"|xargs rm 2>/dev/null

 

mkdir /server/scripts/  #创建脚本目录
[root@nfs01 scripts]#vi system_backup.sh 
#!/bin/bash

Dir_info="/backup"
IP_info="$(hostname -i)"

# 创建本地备份目录
mkdir -p $Dir_info/$IP_info

# 创建本地备份压缩文件
cd /
tar zchf $Dir_info/$IP_info/system_backup_$(date +%F_星期%w).tar.gz ./var/spool/cron/root ./etc/rc.local ./server/scripts ./etc/sysconfig/iptables

# 生成数据指纹信息
find $Dir_info/$IP_info/ -type f  -name "*.tar.gz" -mtime -1|xargs md5sum >$Dir_info/$IP_info/finger.txt

# 传输备份数据
rsync -az $Dir_info/ [email protected]::backup --password-file=/etc/rsync.password

# 删除七天以前备份数据
find $Dir_info -type f -mtime +7 -name "*.tar.gz"|xargs rm 2>/dev/null

  

mkdir /server/scripts/  #创建脚本目录
[root@backup scripts]#vi backup_check.sh 
[root@backup scripts]#cat backup_check.sh 
#!/bin/bash

#验证数据完整性
find /backup/ -type f -name "finger.txt"|xargs md5sum -c &>/tmp/check_info.txt

#发送邮件信息通知
mail -s "backup_check_info" [email protected] </tmp/check_info.txt

#删除6个月之前数据
find /backup/ -type f -name "*.tar.gz" -mtime +180 ! -name "*星期1.tar.gz"|xargs rm 2>/dev/null

定期的なタスクを書く
WEBサーバを:

[root@web01 /]#crontab -e
# backup data
00 00 * * * /bin/sh /server/scripts/system_backup.sh &>/dev/null

質問:月曜日バックアップするデータをバックアップする方法
木曜日7月18日に、1日木曜日7月19日金曜日0時00バックアップsystem_info_2019-07-19_金曜日の.tar上のデータを生成し、GZ
7月19日金曜日、1日金曜日にデータを生成します7月20日(土曜日)午前0時のバックアップsystem_info_2019-07-20_土曜日の.tar、GZ
7月20日土曜日、1日のデータ土曜日7月21日日曜日午前0時日曜日system_info_2019-07-21_バックアップの.tarを生成し、 GZ
7月21日日曜日は、1日は日曜日7月22日月曜日午前0時月曜日system_info_2019-07-22_バックアップの.tar、GZ上のデータを生成する
二つの方法:
方法1:火曜日除外する
第二の方法を:$(日付%のFを- -1day D)
NFSクライアント:

[root@nfs01 /]#crontab -e
# backup data
00 00 * * * /bin/sh /server/scripts/system_backup.sh &>/dev/null

バックアップサーバー:

[root@backup /]#crontab -e
0 6 * * * /bin/sh /server/scripts/backup_check.sh &>/dev/null

あなたはタイミングが成功した、スクリプトを確認するために、システム時刻を変更することができます。
webwxgetmsgimg.jpg

5追加の知識

プロセスを強制終了する方法5.1

最初の方法:殺します

ps -ef|grep sshd    #查看进程号
[root@web01 ~]#ps -ef|grep sshd
root       1537   1229  0 09:06 ?        00:00:00 sshd: root@pts/0
kill 1537       # 杀掉sshd服务,有提示信息

 第二の方法:killallは

yum install -y psmisc       # 安装killall
ps -ef|grep sshd    #查看进程号
[root@web01 ~]#ps -ef|grep sshd
root       1537   1229  0 09:06 ?        00:00:00 sshd: root@pts/0
killall sshd    #   杀掉sshd  有提示信息

第三の方法:pkillは(ぼやけキラー)

ps -ef|grep sshd    #查看进程号
[root@web01 ~]#ps -ef|grep sshd
root       1537   1229  0 09:06 ?        00:00:00 sshd: root@pts/0
pkill sshd  # 模糊杀掉与有sshd关系的服务       没有提示信息

 

おすすめ

転載: www.cnblogs.com/basa/p/11220190.html