postgresql
프로덕션 DB 용 백업 스크립트
수색…
통사론
- 이 스크립트를 사용하면 다음 구문을 사용하여 각 실행에 대한 백업 디렉토리를 만들 수 있습니다. 데이터베이스 백업 디렉토리 이름 + 실행 날짜 및 시간
- 예 : prodDir22-11-2016-19h55
- 생성 된 후 다음 구문을 사용하여 두 개의 백업 파일을 만듭니다. 데이터베이스 이름 + 실행 날짜 및 시간
- 예 :
- dbprod22-11-2016-19h55.backup (덤프 파일)
- dbprod22-11-2016-19h55.sql (sql 파일)
- 22-11-2016 @ 19h55 에 한 번 실행이 끝나면 다음 과 같이 표시됩니다.
- /save_bd/prodDir22-11-2016-19h55/dbprod22-11-2016-19h55.backup
- /save_bd/prodDir22-11-2016-19h55/dbprod22-11-2016-19h55.sql
매개 변수
매개 변수 | 세부 |
---|---|
save_db | 기본 백업 디렉토리 |
dbProd | 보조 백업 디렉토리 |
날짜 | 지정된 형식으로 백업 한 날짜 |
dbprod | 저장할 데이터베이스의 이름 |
/opt/postgres/9.0/bin/pg_dump | pg_dump 바이너리의 경로 |
-h | 서버가 실행중인 시스템의 호스트 이름을 지정합니다 (예 : localhost). |
-피 | 서버가 연결을 수신 대기하는 TCP 포트 또는 로컬 Unix 도메인 소켓 파일 확장자를 지정합니다 (예 : 5432). |
-유 | 연결할 사용자 이름입니다. |
비고
- HDPS 또는 Symantec Backup 과 같은 백업 도구가있는 경우 ... 시작할 때마다 백업 디렉터리를 비우는 것이 필요합니다.
이전 파일의 백업이 완료되어야하기 때문에 백업 도구가 어지럽히 지 않도록하십시오.
이 기능을 사용하려면 N ° 3 줄의 주석 처리를 제거하십시오.
rm -R / save_db / *
- 예산이 백업 도구를 허용하지 않는 경우에는 항상 작업 계획자 ( cron 명령 )를 사용할 수 있습니다.
다음 명령은 현재 사용자의 cron 테이블을 편집하는 데 사용됩니다.
crontab -e
오후 11시에 캘린더를 사용하여 스크립트 시작 일정을 계획하십시오.
0 23 * * * /saveProdDb.sh
saveProdDb.sh
일반적으로 pgAdmin 클라이언트를 사용하여 DB를 백업하는 경향이 있습니다. 다음은 두 가지 형식으로 데이터베이스를 저장하는 데 사용되는 sh 스크립트입니다 :
SQL 파일 : 모든 버전의 PostgreSQL에서 가능한 데이터 재개.
덤프 파일 : 현재 버전보다 상위 버전입니다.
#!/bin/sh
cd /save_db
#rm -R /save_db/*
DATE=$(date +%d-%m-%Y-%Hh%M)
echo -e "Sauvegarde de la base du ${DATE}"
mkdir prodDir${DATE}
cd prodDir${DATE}
#dump file
/opt/postgres/9.0/bin/pg_dump -i -h localhost -p 5432 -U postgres -F c -b -w -v -f "dbprod${DATE}.backup" dbprod
#SQL file
/opt/postgres/9.0/bin/pg_dump -i -h localhost -p 5432 -U postgres --format plain --verbose -f "dbprod${DATE}.sql" dbprod
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow