[Linux] rsync, lsync 사용법 updated_at: 2024-12-15 04:01

rsync, lsync

rsync 를 이용한 copy

rsync options source destination
  • options
include exclude 는 현재 실행 폴더에서 상대 경로
--exclude=*.확장자
--exclude=파일명(디렉토리명)

--exclude-from=패턴이 저장된 파일명"
--exclud-from
--exclude
--include
 --delete

-v: verbose 자세한 정보 출력
-r : 재귀적으로 하위 디렉터리 까지 복사(단 전송시 타임스탬프나 permission을 보존하지 않는다)
-a : archive mode. -r, -t(타입스탬프 보존), -l (심볼릭 링크 보존), -p(permission 보존), -g(g그룹 보존), -o(소유자 보존 - root 만 가능),  -D(device, special 파일 보존)과 동일하다. 일반적으로 rsync 로 복제시 -a 옵션에 -z 옵션을 추가하면 충분하다.
-z : 데이타 압축
-h : human-readable, output numbers in a human-readable format"
--size-only
--ignore-existing

  • 적용예
rsync -avz /srv/http/projects/project/  [email protected]:~/projects/project 
rsync -avz /home/web/  /home/web-v20211115 // 폴더를 복사할때도 rsync 명령을 사용하면 소유나 권한 까지 같이 넘어오므로 좋다
rsync -avz /srv/http/projects/project   [email protected]:~/projects // 좌측처럼 projects 아래에 project가 들어간다.
[root@oneul home]# rsync -avz --exclude=./project/public_html/uc3 --exclude-from=./project/public_html/data/board --exclude-from=./project/public_html/series  --exclude-from=./project/public_html/temp /home/ [email protected]

rsync와 lsync를 이용한 실시간 원격백업

크론에 걸어둔 스크립트 파일

#!/bin/bash
datetime=$(date +%Y_%m_%d)
rm -f /root/script/backupMysql/*
tar cvfz /root/script/backupMysql/mysql_데이타1.$datetime.tar.gz /MySQLDATA/데이타1/
tar cvfz /root/script/backupMysql/mysql_데이타2.$datetime.tar.gz /MySQLDATA/데이타2/


/etc/init.d/lsyncd start

7일 이후 파일은 삭제

find /backupdir/ -type f -name "*.tar.gz" -mtime +7 -exec rm -f {} ;
find /home/sqlbackup/ -type f -name "*.sql" -mtime +5 -exec rm -f {} ;
평점을 남겨주세요
평점 : 5.0
총 투표수 : 1

질문 및 답글