2014-11-03 7 views
0

안녕하세요 저는 Postgres 덤프를 작성하고 다운로드하는 작업 과정을 자동화하고 싶습니다. 파이프 등을 사용하여 하나의 명령에 postgresl 데이터베이스 덤프를 만들고 하나의 명령에서 sshpass를 사용하여 scp를 사용하여 다운로드하십시오.

sshpass -p "FuckinHardPass" ssh [email protected] "pg_dump -U andi andi_some_db -f /home/andi/PSQL_DUMPS/andi_some_db.sql" 

sshpass -p "FuckinHardPass" scp -r [email protected]:/home/andi/PSQL_DUMPS/andi_some_db.sql . 

어떻게 내가 가입하실 수 있습니다 : 나는 두 개의 별도의 명령에 지금까지 알아 냈 지금 나는 내 로컬 컴퓨터에서하고 싶어? 이 출력 파일의로 pg_dump의 기본값으로

sshpass -p "FuckinHardPass" ssh [email protected] "pg_dump -U andi andi_some_db" > andi_some_db.sql 

답변

3

가 표준 출력하고, SSH는 그 자체가 표준 출력에, 당신이 수 명령의 표준 출력을 표시

감사 제임스 하이 타워 힌트에 대한 답을 사용하여 나는 하나 개의 명령을 완료 같은 수행의 크기에 따라 andi_some_db.sql

로 로컬 디스크에 명령의 출력을 절약 할 수

ssh [email protected] 'pg_dump -U andi andi_some_db' > andi_some_db.sql 

당신의 덤프 및 연결 속도에 따라 출력을 미리 압축하면 도움이 될 수 있습니다.

ssh [email protected] 'pg_dump -U andi andi_some_db | gzip' > andi_some_db.sql.gz 

등등.