원격지의 rsync 서버로 부터 데이터를 이관할때 파일리스트와 볼륨정보, rsync 시작 및 끝의 시간을 로깅하는 것에 대한 문서이다.
아래와 같이 타겟 시스템에서 진행.
1) screen 으로 창을 띄운다.
- 네트워크 단절로 인해 터미널 쉘이 끊어 지더라도 screen 쉘로 프로세스를 돌리면 문제가 없다.
[root@csnode02 ~]# screen
2) rsync 를 아래와 같이 진행한다.
- 시스템 환경에 맞춰 수정할 것. (기본적으로 diskinfo1, diskinfo2 변수의 df의 volume과 rsync 명령 구문 부분을 수정)
[root@csnode02 ~]# diskinfo1=$(df -k | head -1 && df -k | grep oradata); CurrTime=`date +%Y-%m-%d_%T` ; StartTime=$(date|sed 's/^/Rsync start\:\ /g'); time rsync -av --exclude='lost+found' --delete 192.168.0.41::rsync-test /mnt/rsync-test >> /tmp/rsync-filelist-$CurrTime.log; diskinfo2=$(df -k | head -1 && df -k | grep oradata); echo -e "\nAS-IS Volume Info\n$diskinfo1" >> /tmp/rsync-filelist-$CurrTime.log ; echo -e "\nTO-BE Volume Info\n$diskinfo2" >> /tmp/rsync-filelist-$CurrTime.log; StopTime=$(date|sed 's/^/Rsync end\:\ \ /g'); echo -e "\n$StartTime" >> /tmp/rsync-filelist-$CurrTime.log ; echo $StopTime >> /tmp/rsync-filelist-$CurrTime.log
3) screen 쉘을 detached 하고 본래 쉘로 돌아온다.
Ctrl - a - d
4) 로그 파일이 생성된 것을 확인
[root@csnode02 ~]# ls -la /tmp/rsync-filelist-2015-03-08_*
-rw-r--r-- 1 root root 549 Mar 8 23:22 /tmp/rsync-filelist-2015-03-08_23:39:04.log
5) rsync 진행 상황을 확인한다.
[root@csnode02 ~]# tail -f /tmp/rsync-filelist-2015-03-08_23:39:04.log
database/stage/Components/oracle.sysman.console.db/11.2.0.1.0/1/DataFiles/filegroup10.jar
database/stage/Components/oracle.sysman.console.db/11.2.0.1.0/1/DataFiles/filegroup11.jar
database/stage/Components/oracle.sysman.console.db/11.2.0.1.0/1/DataFiles/filegroup12.jar
database/stage/Components/oracle.sysman.console.db/11.2.0.1.0/1/DataFiles/filegroup13.jar
database/stage/Components/oracle.sysman.console.db/11.2.0.1.0/1/DataFiles/filegroup2.jar
database/stage/Components/oracle.sysman.console.db/11.2.0.1.0/1/DataFiles/filegroup3.jar
database/stage/Components/oracle.sysman.console.db/11.2.0.1.0/1/DataFiles/filegroup4.jar
database/stage/Components/oracle.sysman.console.db/11.2.0.1.0/1/DataFiles/filegroup5.jar
~~ snip ~~
6) rsync가 모두 끝나고 tail로 볼륨 및 시간 정보를 확인
[root@csnode02 ~]# tail /tmp/rsync-filelist-2015-03-08_23:39:04.log
AS-IS Volume Info
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/vg01-oradata01 103208224 4735916 93229636 5% /mnt
TO-BE Volume Info
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/vg01-oradata01 103208224 7041072 90924480 8% /mnt
Rsync start: Sun Mar 8 23:39:04 KST 2015
Rsync end: Sun Mar 8 23:41:30 KST 2015
7) screen exit 하기
- 작업이 끝났다면 screen 쉘을 exit 한다.
[root@csnode02 ~]# screen -r
[root@csnode02 ~]# exit
[root@csnode02 ~]#