자작의 파일 서버(NAS)를 Linux로 작성&다른 HDD에 정기적으로 백업시켜 중복성 확보
계기
· 실험실 파일 서버가 충돌했습니다.
나「아무래도 안돼. 처음부터 다시 만들어볼까」
· 어차피 다시 만든다면 좋은 것을
준비한 것
· Linux PC (내 환경에서는 Vine Linux)
・외부 HDD 등 로컬 내에서 공유하고 싶은 드라이브×2
목표로 하는 것
이런 느낌의 것을 목표로 해 보았다
· 메인 HDD는 Samba에서 파일 공유
・백업용의 HDD는 일주일에 한번 메인의 HDD와 동기하는 것으로 백업(gmail등으로 동기가 정상적으로 종료했는지 통지)
· 물론 동기화는 자동입니다.
메인 HDD가 수명인지 뭔가로 충돌했을 때는 백업용 HDD에서 데이터 구출할 수 있을 것
(더 똑똑한 방법이 있으면 알려주세요.)
절차
자동 마운트 ( /etc/fstab ) 설정
외장 드라이브를 ext4로 포맷
여기서는 sdb1을 메인 HDD, sdc1을 백업 hdd로 설정합니다.
※속도적으로는 ext4가 좋은 것 같지만 Windows PC에서도 마운트하고 싶은 경우는 FAT계가 좋을지도
[root@hoge ~]# mkfs -t ext4 /dev/sdb1
[root@hoge ~]# mkfs -t ext4 /dev/sdc1
외장 드라이브를 Linux PC에 연결하고 blkid
에서 UUID 확인
[root@hoge ~]# blukid
/dev/sda1: LABEL="/boot" UUID="a1a1a1a1-a1a1-a1a1-a1a1-a1a1a1a1a1a1" TYPE="ext4"
/dev/sda2: UUID="a2a2a2-a2a2-a2a2-a2a2-a2a2-a2a2-a2a2a2" TYPE="LVM2_member"
/dev/mapper/VolGroup00-LogVol00: UUID="11111111-2222-3333-4444-555555555555" TYPE="ext4"
/dev/mapper/VolGroup00-LogVol01: UUID="swapswap-swap-swap-swap-swapswap" TYPE="swap"
/dev/sdb1: UUID="b1b1b1b1-b1b1-b1b1-b1b1-b1b1b1b1b1b1" TYPE="ext4"
/dev/sdc1: UUID="c1c1c1c1-c1c1-c1c1-c1c1-c1c1c1c1c1c1" TYPE="ext4"
sdb1 (메인 HDD)의 UUID는 b1b1b1b1-b1b1-b1b1-b1b1-b1b1b1b1b1b1
sdc1 (백업 HDD)의 UUID는 c1c1c1c1-c1c1-c1c1-c1c1-c1c1c1c1c1c1
먼저 마운트 대상을 만들어 둡니다.
(권한에주의 나중에 chmod로 변경은 가능하지만)
[root@hoge ~]$ mkdir /home/username/mainhdd/
[root@hoge ~]$ mkdir /home/username/backuphdd/
/etc/fstab
편집
(/etc/fstab)
↓デフォルトではこんな感じの記述
/dev/VolGroup00/LogVol00 / ext4 defaults 1 1
LABEL=/boot /boot ext4 defaults 1 2
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults,sw 0 0
↓以下を追記
UUID=b1b1b1b1-b1b1-b1b1-b1b1-b1b1b1b1b1b1 /home/username/mainhdd/ ext4 users,rw,defaults,nofail 0 0
UUID=c1c1c1c1-c1c1-c1c1-c1c1-c1c1c1c1c1c1 /home/username/backuphdd/ ext4 users,rw,defaults,nofail 0 0
마운트 해제 후 다시 마운트하면 설정한 디렉토리에 마운트됩니다.
파일 공유 시스템 데몬 (Samba) 설치 및 구성
samba 설치 (환경에 따라 원래부터 설치되었을 수 있음)
[root@hoge ~]# apt update
[root@hoge ~]# apt install samba
sanba 설정 파일 열기
/etc/samba/smb.conf
↓以下を追記
[guest]
comment = file server
path = /home/username/mainhdd
browsable = yes
writable = yes
read only = no
force create mode = 0777
force directory mode = 0777
#force group = sambashare
데몬 시작
[root@hoge ~]# /etc/rc.d/init.d/smb start
[root@hoge ~]# /etc/rc.d/init.d/nmb start
이제 로컬의 클라이언트에서 액세스할 수 있습니다.
rsync를 사용하여 메인 HDD에서 백업 HDD로 동기화 (백업)
백업을 위한 스크립트 작성
backup.sha=`df -h |grep -o /home/username/mainhdd`
b=`df -h |grep -o /home/username/backuphdd`
if [ $a = "/home/username/mainhdd" -a $b = "/home/username/backuphdd" ]; then
flag=1
rsync -avzu /home/username/mainhdd/ /home/username/backuphdd --log-file=/home/username/backup.log
else
flag=0
fi
stat=$?
if [ $stat = 0 -a $flag = 1 ]; then
echo "研究室内サーバーの定期バックアップが正常に完了しました。(終了ステータス0)" | mail -s "自動バックップ完了" [email protected]
else
echo "研究室内サーバーの定期バックアップが失敗しました(終了ステータス0以外)。原因を確認してください" | mail -s "自動バックップ失敗" [email protected]
fi
~ 스크립트의 간략한 설명 ~
· df
에서 두 개의 HDD가 마운트되었는지 확인하고 rsync
에서 동기화
· 동기화가 성공적으로 완료되었거나 실패했는지 확인하고 이메일로 알림
backup.sh
의 권한 변경
[root@hoge ~]# chmod +x backup.sh
cron으로 정기 백업 구성
crontab -e
에서 cron 구성 파일 편집
分 時 日 月 曜日 (↓を追記)
00 17 * * 5 /home/username/backup.sh
이 설정은 매주 금요일 17:00에 /home/username/backup.sh
를 자동으로 실행합니다.
cron 재부팅
再起動
[root@hoge ~]# /etc/init.d/cron restart
ステータス確認
[root@hoge ~]# /etc/init.d/cron status
이제 일주일에 한 번 자동으로 백업됩니다.
참고로 한 사이트
· Samba 관련
ht tp // 바 m 보오. 잠깐. 네 t/ぃぬx/ゔぃねぃぬx/ゃぃねぃぬxー4. HTML
· cron 관련
htps : // k99 - ch. 코 m/bぉg/아 rゔぇs/1141
유용한 정보 감사합니다.
Reference
이 문제에 관하여(자작의 파일 서버(NAS)를 Linux로 작성&다른 HDD에 정기적으로 백업시켜 중복성 확보), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/_shin_/items/66ea48f2b282ce7a7cb4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
· Linux PC (내 환경에서는 Vine Linux)
・외부 HDD 등 로컬 내에서 공유하고 싶은 드라이브×2
목표로 하는 것
이런 느낌의 것을 목표로 해 보았다
· 메인 HDD는 Samba에서 파일 공유
・백업용의 HDD는 일주일에 한번 메인의 HDD와 동기하는 것으로 백업(gmail등으로 동기가 정상적으로 종료했는지 통지)
· 물론 동기화는 자동입니다.
메인 HDD가 수명인지 뭔가로 충돌했을 때는 백업용 HDD에서 데이터 구출할 수 있을 것
(더 똑똑한 방법이 있으면 알려주세요.)
절차
자동 마운트 ( /etc/fstab ) 설정
외장 드라이브를 ext4로 포맷
여기서는 sdb1을 메인 HDD, sdc1을 백업 hdd로 설정합니다.
※속도적으로는 ext4가 좋은 것 같지만 Windows PC에서도 마운트하고 싶은 경우는 FAT계가 좋을지도
[root@hoge ~]# mkfs -t ext4 /dev/sdb1
[root@hoge ~]# mkfs -t ext4 /dev/sdc1
외장 드라이브를 Linux PC에 연결하고 blkid
에서 UUID 확인
[root@hoge ~]# blukid
/dev/sda1: LABEL="/boot" UUID="a1a1a1a1-a1a1-a1a1-a1a1-a1a1a1a1a1a1" TYPE="ext4"
/dev/sda2: UUID="a2a2a2-a2a2-a2a2-a2a2-a2a2-a2a2-a2a2a2" TYPE="LVM2_member"
/dev/mapper/VolGroup00-LogVol00: UUID="11111111-2222-3333-4444-555555555555" TYPE="ext4"
/dev/mapper/VolGroup00-LogVol01: UUID="swapswap-swap-swap-swap-swapswap" TYPE="swap"
/dev/sdb1: UUID="b1b1b1b1-b1b1-b1b1-b1b1-b1b1b1b1b1b1" TYPE="ext4"
/dev/sdc1: UUID="c1c1c1c1-c1c1-c1c1-c1c1-c1c1c1c1c1c1" TYPE="ext4"
sdb1 (메인 HDD)의 UUID는 b1b1b1b1-b1b1-b1b1-b1b1-b1b1b1b1b1b1
sdc1 (백업 HDD)의 UUID는 c1c1c1c1-c1c1-c1c1-c1c1-c1c1c1c1c1c1
먼저 마운트 대상을 만들어 둡니다.
(권한에주의 나중에 chmod로 변경은 가능하지만)
[root@hoge ~]$ mkdir /home/username/mainhdd/
[root@hoge ~]$ mkdir /home/username/backuphdd/
/etc/fstab
편집
(/etc/fstab)
↓デフォルトではこんな感じの記述
/dev/VolGroup00/LogVol00 / ext4 defaults 1 1
LABEL=/boot /boot ext4 defaults 1 2
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults,sw 0 0
↓以下を追記
UUID=b1b1b1b1-b1b1-b1b1-b1b1-b1b1b1b1b1b1 /home/username/mainhdd/ ext4 users,rw,defaults,nofail 0 0
UUID=c1c1c1c1-c1c1-c1c1-c1c1-c1c1c1c1c1c1 /home/username/backuphdd/ ext4 users,rw,defaults,nofail 0 0
마운트 해제 후 다시 마운트하면 설정한 디렉토리에 마운트됩니다.
파일 공유 시스템 데몬 (Samba) 설치 및 구성
samba 설치 (환경에 따라 원래부터 설치되었을 수 있음)
[root@hoge ~]# apt update
[root@hoge ~]# apt install samba
sanba 설정 파일 열기
/etc/samba/smb.conf
↓以下を追記
[guest]
comment = file server
path = /home/username/mainhdd
browsable = yes
writable = yes
read only = no
force create mode = 0777
force directory mode = 0777
#force group = sambashare
데몬 시작
[root@hoge ~]# /etc/rc.d/init.d/smb start
[root@hoge ~]# /etc/rc.d/init.d/nmb start
이제 로컬의 클라이언트에서 액세스할 수 있습니다.
rsync를 사용하여 메인 HDD에서 백업 HDD로 동기화 (백업)
백업을 위한 스크립트 작성
backup.sha=`df -h |grep -o /home/username/mainhdd`
b=`df -h |grep -o /home/username/backuphdd`
if [ $a = "/home/username/mainhdd" -a $b = "/home/username/backuphdd" ]; then
flag=1
rsync -avzu /home/username/mainhdd/ /home/username/backuphdd --log-file=/home/username/backup.log
else
flag=0
fi
stat=$?
if [ $stat = 0 -a $flag = 1 ]; then
echo "研究室内サーバーの定期バックアップが正常に完了しました。(終了ステータス0)" | mail -s "自動バックップ完了" [email protected]
else
echo "研究室内サーバーの定期バックアップが失敗しました(終了ステータス0以外)。原因を確認してください" | mail -s "自動バックップ失敗" [email protected]
fi
~ 스크립트의 간략한 설명 ~
· df
에서 두 개의 HDD가 마운트되었는지 확인하고 rsync
에서 동기화
· 동기화가 성공적으로 완료되었거나 실패했는지 확인하고 이메일로 알림
backup.sh
의 권한 변경
[root@hoge ~]# chmod +x backup.sh
cron으로 정기 백업 구성
crontab -e
에서 cron 구성 파일 편집
分 時 日 月 曜日 (↓を追記)
00 17 * * 5 /home/username/backup.sh
이 설정은 매주 금요일 17:00에 /home/username/backup.sh
를 자동으로 실행합니다.
cron 재부팅
再起動
[root@hoge ~]# /etc/init.d/cron restart
ステータス確認
[root@hoge ~]# /etc/init.d/cron status
이제 일주일에 한 번 자동으로 백업됩니다.
참고로 한 사이트
· Samba 관련
ht tp // 바 m 보오. 잠깐. 네 t/ぃぬx/ゔぃねぃぬx/ゃぃねぃぬxー4. HTML
· cron 관련
htps : // k99 - ch. 코 m/bぉg/아 rゔぇs/1141
유용한 정보 감사합니다.
Reference
이 문제에 관하여(자작의 파일 서버(NAS)를 Linux로 작성&다른 HDD에 정기적으로 백업시켜 중복성 확보), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/_shin_/items/66ea48f2b282ce7a7cb4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
자동 마운트 ( /etc/fstab ) 설정
외장 드라이브를 ext4로 포맷
여기서는 sdb1을 메인 HDD, sdc1을 백업 hdd로 설정합니다.
※속도적으로는 ext4가 좋은 것 같지만 Windows PC에서도 마운트하고 싶은 경우는 FAT계가 좋을지도
[root@hoge ~]# mkfs -t ext4 /dev/sdb1
[root@hoge ~]# mkfs -t ext4 /dev/sdc1
외장 드라이브를 Linux PC에 연결하고
blkid
에서 UUID 확인[root@hoge ~]# blukid
/dev/sda1: LABEL="/boot" UUID="a1a1a1a1-a1a1-a1a1-a1a1-a1a1a1a1a1a1" TYPE="ext4"
/dev/sda2: UUID="a2a2a2-a2a2-a2a2-a2a2-a2a2-a2a2-a2a2a2" TYPE="LVM2_member"
/dev/mapper/VolGroup00-LogVol00: UUID="11111111-2222-3333-4444-555555555555" TYPE="ext4"
/dev/mapper/VolGroup00-LogVol01: UUID="swapswap-swap-swap-swap-swapswap" TYPE="swap"
/dev/sdb1: UUID="b1b1b1b1-b1b1-b1b1-b1b1-b1b1b1b1b1b1" TYPE="ext4"
/dev/sdc1: UUID="c1c1c1c1-c1c1-c1c1-c1c1-c1c1c1c1c1c1" TYPE="ext4"
sdb1 (메인 HDD)의 UUID는
b1b1b1b1-b1b1-b1b1-b1b1-b1b1b1b1b1b1
sdc1 (백업 HDD)의 UUID는 c1c1c1c1-c1c1-c1c1-c1c1-c1c1c1c1c1c1
먼저 마운트 대상을 만들어 둡니다.
(권한에주의 나중에 chmod로 변경은 가능하지만)
[root@hoge ~]$ mkdir /home/username/mainhdd/
[root@hoge ~]$ mkdir /home/username/backuphdd/
/etc/fstab
편집(/etc/fstab)
↓デフォルトではこんな感じの記述
/dev/VolGroup00/LogVol00 / ext4 defaults 1 1
LABEL=/boot /boot ext4 defaults 1 2
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults,sw 0 0
↓以下を追記
UUID=b1b1b1b1-b1b1-b1b1-b1b1-b1b1b1b1b1b1 /home/username/mainhdd/ ext4 users,rw,defaults,nofail 0 0
UUID=c1c1c1c1-c1c1-c1c1-c1c1-c1c1c1c1c1c1 /home/username/backuphdd/ ext4 users,rw,defaults,nofail 0 0
마운트 해제 후 다시 마운트하면 설정한 디렉토리에 마운트됩니다.
파일 공유 시스템 데몬 (Samba) 설치 및 구성
samba 설치 (환경에 따라 원래부터 설치되었을 수 있음)
[root@hoge ~]# apt update
[root@hoge ~]# apt install samba
sanba 설정 파일 열기
/etc/samba/smb.conf
↓以下を追記
[guest]
comment = file server
path = /home/username/mainhdd
browsable = yes
writable = yes
read only = no
force create mode = 0777
force directory mode = 0777
#force group = sambashare
데몬 시작
[root@hoge ~]# /etc/rc.d/init.d/smb start
[root@hoge ~]# /etc/rc.d/init.d/nmb start
이제 로컬의 클라이언트에서 액세스할 수 있습니다.
rsync를 사용하여 메인 HDD에서 백업 HDD로 동기화 (백업)
백업을 위한 스크립트 작성
backup.sh
a=`df -h |grep -o /home/username/mainhdd`
b=`df -h |grep -o /home/username/backuphdd`
if [ $a = "/home/username/mainhdd" -a $b = "/home/username/backuphdd" ]; then
flag=1
rsync -avzu /home/username/mainhdd/ /home/username/backuphdd --log-file=/home/username/backup.log
else
flag=0
fi
stat=$?
if [ $stat = 0 -a $flag = 1 ]; then
echo "研究室内サーバーの定期バックアップが正常に完了しました。(終了ステータス0)" | mail -s "自動バックップ完了" [email protected]
else
echo "研究室内サーバーの定期バックアップが失敗しました(終了ステータス0以外)。原因を確認してください" | mail -s "自動バックップ失敗" [email protected]
fi
~ 스크립트의 간략한 설명 ~
·
df
에서 두 개의 HDD가 마운트되었는지 확인하고 rsync
에서 동기화· 동기화가 성공적으로 완료되었거나 실패했는지 확인하고 이메일로 알림
backup.sh
의 권한 변경[root@hoge ~]# chmod +x backup.sh
cron으로 정기 백업 구성
crontab -e
에서 cron 구성 파일 편집分 時 日 月 曜日 (↓を追記)
00 17 * * 5 /home/username/backup.sh
이 설정은 매주 금요일 17:00에
/home/username/backup.sh
를 자동으로 실행합니다.cron 재부팅
再起動
[root@hoge ~]# /etc/init.d/cron restart
ステータス確認
[root@hoge ~]# /etc/init.d/cron status
이제 일주일에 한 번 자동으로 백업됩니다.
참고로 한 사이트
· Samba 관련
ht tp // 바 m 보오. 잠깐. 네 t/ぃぬx/ゔぃねぃぬx/ゃぃねぃぬxー4. HTML
· cron 관련
htps : // k99 - ch. 코 m/bぉg/아 rゔぇs/1141
유용한 정보 감사합니다.
Reference
이 문제에 관하여(자작의 파일 서버(NAS)를 Linux로 작성&다른 HDD에 정기적으로 백업시켜 중복성 확보), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/_shin_/items/66ea48f2b282ce7a7cb4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(자작의 파일 서버(NAS)를 Linux로 작성&다른 HDD에 정기적으로 백업시켜 중복성 확보), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/_shin_/items/66ea48f2b282ce7a7cb4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)