한 줄 백업, 압축, scp 데이터베이스 파일

한 줄 백업, 압축, scp 데이터베이스 파일

나는 원격으로 호스팅되는 웹사이트를 갖춘 회사를 지원합니다. 그들은 PostgreSQL DB를 사용합니다.

원격 서버에 스크립트를 작성할 수 없고 원격 서버에 백업 파일을 저장하고 싶지 않지만 크론 작업을 실행할 수 있고 원격 서버의 SSH 공개 키에 액세스할 수 있습니다. 인증을 위해 원격 호스트의 개인 키를 허용하도록 로컬 Linux 호스트를 설정했습니다.

백업 파일을 내 로컬 Linux 상자에 동시에 백업, 압축 및 scp하는 한 줄 스크립트를 만들어야 합니다.

내 로컬 Linux 상자가 SSH를 통해 mylinuxbox.foo.com포트 122에 접근할 수 있고 내 데이터베이스 이름이 라면 mydatabase, 이 한 줄짜리 cron 작업 명령은 어떤 모양일까요?

답변1

데이터베이스에 대해 ID 인증(또는 .pgpass)을 사용한다고 가정하면 아마도 다음과 같은 작업을 수행할 것입니다.

pg_dump -Udbuser -h127.0.0.1 mydatabase |gzip -c > mydatabase.backup.gz; scp -P 122 mydatabase.backup.gz [email protected]:; rm -f mydatabase.backup.gz

다른 옵션을 추가하기 위해 편집 중...

백업 파일의 중간 저장소를 갖지 않는 것이 정말로 중요한 경우 위의 내용을 다음과 같이 수정할 수 있습니다.

pg_dump -Udbuser -h127.0.0.1 mydatabase |gzip -c | ssh -p 122 [email protected] "cat >mydatabase.backup.gz"

관련 정보