
저는 현재 다음을 사용하여 원격 서버에 데이터를 백업했는지 확인하기 위해 며칠마다 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 데이터베이스를 지운 다음 백업 파일의 모든 데이터를 삽입하는 스크립트도 있습니다.