Дамп базы данных PostgreSQL
| postgresql-backup.sh | ||
| Readme | ||
Вот надёжный и готовый к использованию шаблон скрипта для создания дампа 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