시놀로지 내장 SQLITE3를 이용한 백업결과 로그 TABLE 확인후 원격서버 종료 스크립트 작성방법

   조회 837   추천 0    

얼마전 Q/A란에 문의로 올렸던 사항인데

지난 주말동안에는 원격 NAS서버를 SSH 명렁을 통해 종료시키는 방법을 공유드렸고


이번에는 공유폴더 동기화 처리가 성공완료된 결과를 가져올 수 있는 스크립트를 완셩했습니다.


방법은 아래 내용처럼 로그 센터의 아카이브 설정에서 아카이브용 저장소 대상에

log db 파일을 내려 받을수 있는 적당한 폴더 (제 경우는 /volume2/log) 로 위치선택하고

[V]위에 지정된 저장소 위치에 로컬 로그를 아카이브 합니다.  에 체크를 해주고 적용합니다.


이 DB 파일은 SQL LITE용 DB 파일로 아래 커맨드에 보이시는 sqlite3의 실행과 위에 아카이브로 지정한 DB파일 오픈, 

그리고 금일 정상 동기화 처리 성공한 내용을 SELECT COUNT 하는 쿼리를 가지고 결과를 알 수 있습니다.


r 변수에 1 이라는 값이 출력되면 정상수행이 완료 되었다는 의미 이고 백업은 하루에 1회만 한다는 가정입니다.

백업의 횟수가 더 많은 경우는 아래 스크립트의 쿼리와 IF 조건등을 적절히 수정하셔야 합니다.

시놀로지 공유폴더중 shell 폴더에 vi 에디터를 이용해 아래처럼 shell 스크립트를 생성합니다.


vi /volume2/shell/poweroff_af_sfsync.sh

r=$(sqlite3 /volume2/log/SYNOSYSLOGDB__LOCALARCH.DB "select count(*) as cnt from logs a where host = 'NAS4' and ldate = date('now','localtime') and prog = 'NetworkBackup' and instr(msg,'Shared Folder Sync finished to sync task') > 0;")

echo $r

if [ $r -eq "0" ] ; then

   echo "백업 미종료 or 오류"

else

   echo "백업 정상종료, NAS5를 종료합니다. "

   ssh -p 32022 admin@192.168.35.11 sudo "poweroff"

fi


위 ssh 로 원격서버가 자동 종료되도록 하려면 ssh-keygen을 통한 pub key 생성복사가 필요합니다. 이부분은 강좌란 바로 직전글인 아래 링크를 참조하시기 바랍니다.

http://www.2cpu.co.kr/lec/3990


완성된 스크립트는 작업스케쥴러등에 등록하시고 적절한 주기를 주시고 계속 체크하도록 해서 백업이 성공되면 원격서버 종료가 되도록 해주시면 됩니다.

감사합니다.

image




제목Page 1/21
07-22   210   무한도전
07-08   553   무한도전
07-02   847   구차니
06-25   756   무한도전
06-11   1055   무한도전
06-10   952   Sikieiki
06-09   838   화정큐삼
06-05   981   화정큐삼
06-05   216   dadad
06-03   710   연이랑진
05-27   842   무한도전
05-24   923   shipse
05-13   1210   무한도전
04-26   2510   화정큐삼
04-22   1972   무한도전
04-08   3039   무한도전
03-25   3908   무한도전
03-25   4035   박문형
03-21   3881   나우소래
03-13   3898   술이