Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
сервер:создание_бекапов_postgres [2021/04/01 12:03] dmitriya [Бэкап базы данных на флэшку] |
сервер:создание_бекапов_postgres [2021/06/04 08:03] dmitriya [Бэкап базы данных] |
||
---|---|---|---|
Строка 6: | Строка 6: | ||
Запись в //Cron// идет с помощью исполняемого файла //"rc"// в директории ///etc/cron.h// | Запись в //Cron// идет с помощью исполняемого файла //"rc"// в директории ///etc/cron.h// | ||
<code - backup.sh> | <code - backup.sh> | ||
- | #!/bin/sh | + | !/bin/sh |
find /home/backup -type f -ctime +30 -name "*.sql.gz" -exec rm {} \; -print | find /home/backup -type f -ctime +30 -name "*.sql.gz" -exec rm {} \; -print | ||
- | pg_dump --dbname=postgresql://postgres:ПАРОЛЬ@localhost:5432/dozor | gzip -c > `date +%y%m%d`.sql.gz | + | pg_dump -Fd -v -Z 5 -j 5 --dbname=postgresql://postgres:PASS@localhost:5432/dozor -f `date +%y%m%d`.sql.dump |
if ! [ -d /home/backup/Db/`date +20%y` ]; then | if ! [ -d /home/backup/Db/`date +20%y` ]; then | ||
mkdir /home/backup/Db/`date +20%y`/ | mkdir /home/backup/Db/`date +20%y`/ | ||
Строка 15: | Строка 15: | ||
mkdir /home/backup/Db/`date +20%y`/`date +%m`/ | mkdir /home/backup/Db/`date +20%y`/`date +%m`/ | ||
fi | fi | ||
- | mv `date +%y%m%d`.sql.gz /home/backup/Db/`date +20%y`/`date +%m` | + | mv `date +%y%m%d`.sql.dump /home/backup/Db/`date +20%y`/`date +%m` |
</code> | </code> | ||
===== Процесс создания bash-скрипта backup.sh ===== | ===== Процесс создания bash-скрипта backup.sh ===== | ||
Строка 54: | Строка 54: | ||
#!/bin/bash | #!/bin/bash | ||
</file> | </file> | ||
- | Следующие строки будут проверять наличие старых архивов, создавать дамп postgres и сразу его архивировать. | + | Следующие строки будут проверять наличие старых архивов и создавать дамп postgres. |
<file bash> | <file bash> | ||
find /home/backup -type f -ctime +30 -name «*.sql.gz» -exec rm {} \; -print | find /home/backup -type f -ctime +30 -name «*.sql.gz» -exec rm {} \; -print | ||
- | pg_dump --dbname=postgresql://postgres:ПАРОЛЬ@localhost:5432/dozor | gzip -c > `date +%y%m%d`.sql.gz | + | pg_dump -Fc -v --dbname=postgresql://postgres:ПАРОЛЬ_ЮЗ_ПОСТГРЕС@localhost:5432/dozor -f `date +%y%m%d`.sql.dump |
</file> | </file> | ||
Далее проверяются и создаются директории для хранения базы данных | Далее проверяются и создаются директории для хранения базы данных |