홈서버
[홈서버] 특정 파일 주기적 SCP 전송 (명령어 find, scp)
말춘이
2022. 1. 7. 15:54
반응형
gitlab-ce 운영 중 데이터를 주기적으로 백업하였다. 이 백업파일을 물리적인 다른 서버에 전송하기 위해 scp 명령어를 사용하겠다. 당일 생성된 파일만 보내기 위해 find 명령어를 함께 사용하여 crontab 에 등록하는 것이 목표다.
먼저 crontab에 등록할 명령어 부터 생성하겠다. ssh 접근시 인증할 공개키를 대상서버에 미리 등록해 두었다.
$ find /var/opt/gitlab/backups -type f -name '*gitlab_backup.tar' -ctime 0 -exec scp {} xxxx@000.000.000.000:/var/opt/gitlab/backups/ \; |
find 옵션명 | 설명 |
-type f | 파일만 검색 |
-name '*gitlab_backup.tar' | gitlab_backup.tar 끝나는 파일명 |
-ctime 0 | 당일 생성된 파일 |
-exec | 수행 명령어 한칸 띄우고 \; 필수 입력 |
이제 해당 명령어를 크론탭에 등록한다.
$ crontab -e 0 0 * * * find /var/opt/gitlab/backups -type f -name '*gitlab_backup.tar' -ctime 0 -exec scp {} xxxx@000.000.000.000:/var/opt/gitlab/backups/ \; |
등록 후 크론탭 서비스 재시작.
$ /etc/init.d/cron restart |
find의 ctime 옵션으로 특정 날짜의 파일을 검색, 전송할 명령어를 생성하였다.
반응형