実現する機能

自宅にあるサーバーを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/

#翌日データが更新されていれば成功。

以上

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください