Intraservice Linux настройка бекапирования
Скрипт нужно положить в /etc/bkp_sql
Для этого создаём папку
Для этого создаём папку
mkdir /etc/bkp_sql
Создаём папку куда будут записываться бекапы
mkdir /sql_backup
Выдаём права папкам
chmod -R 755 /etc/bkp_sql
mkdir /sql_backup
Выдаём права папкам
chmod -R 755 /etc/bkp_sql
chmod -R 755 /sql_backup
Делаем владельцем папки пользователя postgres
chown postgres:postgres /sql_backup
Если вы хотите хранить бекапы в другой директории сервера, то измените путь в скрипте
Также для работы скрипта нужно позволить локально пользователю postgres подключаться без пароля
открываем файл, пути до файла могут отличаться
postgresql 15 версии
nano /etc/postgresql/15/main/pg_hba.conf
открываем файл, пути до файла могут отличаться
postgresql 15 версии
nano /etc/postgresql/15/main/pg_hba.conf
postgresPro 15 версии
nano /var/lib/pgpro/std-15/data/pg_hba.conf
nano /var/lib/pgpro/std-15/data/pg_hba.conf
разрешаем локально подключаться к БД без пароля
если этого не было указано ранее то после сохранения фала нужно перезапустить postgre, и нужно это делать в не рабочее время
systemctl restart postgresql
systemctl restart postgresql
или
systemctl restart postgrespro-std-15 (для postgresPro15)
Проверить есть ли доступ у пользователя к БД можно так
sudo -u postgres psql -l -t | cut -d'|' -f1 | sed -e 's/ //g' -e '/^$/d'
systemctl restart postgrespro-std-15 (для postgresPro15)
Проверить есть ли доступ у пользователя к БД можно так
sudo -u postgres psql -l -t | cut -d'|' -f1 | sed -e 's/ //g' -e '/^$/d'
результат покажет доступные БД
Теперь нужно сделать запуск скрипта на регулярной основе
crontab -e
Теперь нужно сделать запуск скрипта на регулярной основе
crontab -e
если ранее никаких задач у пользователя не было, линукс спросит что сделать выбирите вариант с nano
Далее вписываем периодичность запуска скрипта и путь до этого скрипта
например запускать каждую субботу в 20:00
0 20 * * 7 sudo -u postgres /etc/bkp_sql/pg_backup_alldb.sh
например запускать каждую субботу в 20:00
0 20 * * 7 sudo -u postgres /etc/bkp_sql/pg_backup_alldb.sh
Если нужно запускать каждый день в 20:00
0 20 * * * sudo -u postgres /etc/bkp_sql/pg_backup_alldb.sh
0 20 * * * sudo -u postgres /etc/bkp_sql/pg_backup_alldb.sh
Закрываем, сохраняем.