PosrgtreSQL_dump/Readme
2026-01-23 14:50:03 +07:00

52 lines
1.8 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Вот надёжный и готовый к использованию шаблон скрипта для создания дампа PostgreSQL, с логированием, сжатием, ротацией старых бэкапов и поддержкой различных сценариев (локальная БД, удалённая, с паролем или через .pgpass).
Файл: postgresql-backup.sh
Как передать пароль безопасно?
Вариант 1 (рекомендуется): файл .pgpass
Создайте файл /root/.pgpass:
chmod 600 /root/.pgpass
echo "localhost:5432:your_database_name:postgres:your_password" >> /root/.pgpass
Формат строки:
hostname:port:database:username:password
Вариант 2: раскомментируйте PG_PASSWORD в скрипте
Менее безопасно: пароль виден в процессах (ps aux) и в файле.
Как использовать:
Сохраните как /root/postgresql-backup.sh
chmod +x /root/postgresql-backup.sh
Отредактируйте параметры:
PG_DB — имя вашей БД (например, gitea, grafana, kuma)
PG_USER, PG_HOST — если нужно
Добавьте в cron (ежедневно в 1:00):
0 1 * * * /root/postgresql-backup.sh
Логи будут в:
/root/backups/postgresql/backup.log
Если у вас несколько БД — запускайте скрипт несколько раз с разными PG_DB.
Для Gitea обычно БД называется gitea.
Для Uptime Kuma — по умолчанию используется SQLite, но если вы перешли на PostgreSQL — укажите её имя.
Дамп в формате .sql.gz легко восстановить:
gunzip -c backup.sql.gz | psql -U postgres -d mydb