実現する機能
自宅にあるサーバーを4TBのNTFS形式のUSB外付けハードディスクに毎晩バックアップしていましたが、壊れたのでI-O DATAのNAS(ナス:Network Attached Storage)を設置し、毎晩自動でバックアップさせています。
事前準備
NASが導入済であること。我が家のNASはこちらで構築方法を記述しています。
cifs-utils等のインストール
GNOME端末でviコマンドを使う方法を理解しておくこと。以下の記述ではGNOME端末で表示された内容を表示しています。紫色はキーボードから入力するコマンド(コピペした方が楽ですが、コマンドは覚えられません)、緑はコマンドや処理内容の説明、白は自動表示する部分、赤は注意書きです。
#NASにアクセスして読み書きできるように、必要なソフトをインストール。 [root@ufuso ~]# yum -y install cifs-utils samba-client samba-common samba-winbind-clients samba-winbind インストール: cifs-utils.x86_64 0:6.2-10.el7 samba-client.x86_64 0:4.8.3-4.el7 samba-winbind.x86_64 0:4.8.3-4.el7 samba-winbind-clients.x86_64 0:4.8.3-4.el7 依存性関連をインストールしました: pytalloc.x86_64 0:2.1.13-1.el7 samba-common-tools.x86_64 0:4.8.3-4.el7 samba-libs.x86_64 0:4.8.3-4.el7 samba-winbind-modules.x86_64 0:4.8.3-4.el7 完了しました! |
NASのマウント
#ウェブブラウザから自宅のNASにアクセスして、バックアップ用フォルダを作成。「CentOS8」は例示。
#NASへのサーバー側からのアクセスフォルダを作成。「fs」は例示。 [root@ufuso ~]# mkdir /mnt/fs #NASの「CentOS」を/mnt/fsへマウント。IPアドレス以下は例示 [root@ufuso ~]# mount -t cifs -o username=your-user-name,password=your-pass //192.168.24.89/CentOS8 /mnt/fs #マウントを解除できるか確認。 [root@ufuso ~]# umount /mnt/fs #再度マウント。 [root@ufuso ~]# mount -t cifs -o username=user-name,password=your-pass //192.168.24.89/CentOS8 /mnt/fs #バックアップ対象外ファイルの作成 [root@ufuso ~]# vi /etc/rsync_exclude.lst #「/var/tmp/」の直下のフォルダとファイル(*)をバックアップから除外(-)する。 - /var/tmp/* -/var/lib/yum/yumdb/l/* #「/boot/」のフォルダ以下全階層のフォルダとファイル(***)をバックアップに加える(+)以下同じ。 + /etc/*** + /opt/*** + /bin/*** + /usr/*** + /var/*** + /home/*** + /root/*** #すべてのフォルダとファイルを(*)バックアップから除外(-)する。 - * #バックアップの実施。除外ファイルを除いたサーバーの全ファイル(/)をNAS(/mnt /fs/CentOS/)にバックアップしてみる。エラーは出るもほぼ成功 [root@ufuso ~]# rsync -av --exclude-from=/etc/rsync_exclude.lst / /mnt/fs/CentOS8/ sending incremental file list created directory /mnt/fs/CentOS8 ./ ... ... ... var/www/cgi-bin/ var/www/html/ var/yp/ sent 6,731,926,807 bytes received 5,645,670 bytes 2,892,282.67 bytes/sec total size is 6,719,940,093 speedup is 1.00 rsync warning: some files vanished before they could be transferred (code 24) at main.c(1189) [sender=3.1.3] #サーバー再起動の際に自動でマウントするように設定 [root@ufuso ~]# vi /etc/fstab # # /etc/fstab # Created by anaconda on Fri Jan 31 21:48:38 2020 # # Accessible filesystems, by reference, are maintained under '/dev/disk/'. # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info. # # After editing this file, run 'systemctl daemon-reload' to update systemd # units generated from this file. # /dev/mapper/cl-root / xfs defaults 0 0 UUID=eaf92c8c-3f81-4e89-818b-bc9a52199fb8 /boot ext4 defaults 1 2 /dev/mapper/cl-home /home xfs defaults 0 0 /dev/mapper/cl-swap swap swap defaults 0 0 #/192.168.24.89/CentOSを追加 //192.168.24.89/CentOS8 /mnt/fs cifs username=user-name,password=your-pass, defaults 0 0 |
CentOSサーバーからNASにアクセスする手順は、下図の番号どおり
(1)赤枠1の「場所」をクリックし、表示される一覧から赤枠2の「コンピューター」をクリック
(2)赤枠の「mnt」フォルダをクリック
(3)赤枠の「fs」フォルダをクリック
(4)赤枠の「CentOS8」フォルダをクリック
(5)赤枠の「home」をクリック
(6)赤枠のユーザーフォルダ(「tu」は例示)をクリック
(7)赤枠のメールフォルダ(無ければ適当に)をクリック
(8)赤枠にフォルダやファイルがあればバックアップは成功
毎日自動でバックアップ
#自動処理ソフトのcronie-noanacronをインストール。 [root@ufuso ~]# dnf -y install cronie-noanacron インストール済み: cronie-noanacron-1.5.2-4.el8.x86_64 完了しました! #自動処理の設定。 [root@ufuso ~]# vi /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed #毎日午前4時に設定した例。 0 4 * * * root rsync -av --exclude-from=/etc/rsync_exclude.lst / /mnt/fs/CentOS8/ |
#翌日データが更新されていれば成功。
以上
コメントを残す