매일/매주/매월 백업을 수행하는 가장 좋은 방법은 무엇입니까?

매일/매주/매월 백업을 수행하는 가장 좋은 방법은 무엇입니까?

저는 현재 다음을 사용하여 원격 서버에 데이터를 백업했는지 확인하기 위해 며칠마다 Leopard에서 스크립트를 실행하고 있습니다.

#!/bin/bash
rsync -avvz ~/Documents ~/Workspace -e ssh [email protected]:~/Backup/

이 방법에는 제한 사항이 있습니다. 즉, 몇 가지 백업 전에 삭제된 파일을 볼 수 없습니다. 이 프로세스를 자동화하는 가장 좋은 방법은 무엇입니까?

답변1

Leopard에서 크론 작업을 설정할 수 있나요?

예제 rsync 옵션(-avvz)은 이전 백업 이후 로컬 디렉터리에서 제거된 'remote' 디렉터리의 파일을 삭제하지 않습니다. 여전히 원격 디렉터리에 있어야 합니다.

그러나 귀하의 예는 혼란스럽습니다. ~/Documents에서 ~/Workspace로 또는 myhost.com의 ~/Backup/로 파일을 복사하고 있습니까?

이는 Leopard의 특징일 수 있지만 ~/Documents에서 ~/Workspace로 복사하는 것처럼 보입니다. 이 경우 나머지 줄은 무시될 수 있습니다(그리고 ssh를 호출할 필요가 없습니다).

/로 소스 디렉토리 지정을 끝내는 것도 고려해야 합니다.

사용 가능한 디스크 공간이 있다면 순환 백업이 좋다는 Peter의 의견에 동의합니다.

답변2

당신이 찾고있는rdiff-백업. 아주 아주 좋습니다.

답변3

나는 rsnapshot 패키지가 매우 훌륭하고 모든 배포판에서 사용할 수 있다는 것을 알았고 이제 막 내 Mac에 설치했습니다.

매시간, 매일, 매주, 매월을 포함한 증분 백업을 관리하는 rsync용 래퍼입니다.

답변4

저는 매일 오전 5시 30분에 이 크론 작업을 실행합니다.

#! /bin/bash
echo -n "cleaning remote database...";
ssh wf ./bin/mysql-clean;
echo "Done";
echo -n "running remote backup script...";
ssh wf ./bin/mysql-backup;
echo "Done";
scp wf:~/mysql-`date +%Y-%m-%d`.sql.bz2 /storage/mysql/;

그런 다음 내 웹호스트에는 데이터베이스를 비우고 모든 잔해를 제거하는 mysql-clean이라는 스크립트가 있습니다. mysql-backup은 기본적으로 bzip2를 통해 파이프된 mysqldump이며 날짜에 따라 이름을 지정합니다. 또한 최신 백업 파일을 가져와 압축을 풀고 로컬 mysql 데이터베이스를 지운 다음 백업 파일의 모든 데이터를 삽입하는 스크립트도 있습니다.

관련 정보