IntraVision

Intraservice Linux настройка бекапирования

Скрипт нужно положить в /etc/bkp_sql
Для этого создаём папку 
mkdir  /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

postgresPro 15 версии
nano /var/lib/pgpro/std-15/data/pg_hba.conf

разрешаем локально подключаться к БД без пароля
 
 
если этого не было указано ранее то после сохранения фала нужно перезапустить postgre, и нужно это делать в не рабочее время
systemctl restart postgresql 
или
systemctl restart postgrespro-std-15 (для postgresPro15)

Проверить есть ли доступ у пользователя к БД можно так
sudo -u postgres psql -l -t | cut -d'|' -f1 | sed -e 's/ //g' -e '/^$/d'
результат покажет доступные БД
 
 

Теперь нужно сделать запуск скрипта на регулярной основе
crontab -e
если ранее никаких задач у пользователя не было, линукс спросит что сделать выбирите вариант с nano 
 
 
Далее вписываем периодичность запуска скрипта и путь до этого скрипта
например запускать каждую субботу в 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
Закрываем, сохраняем.



intraservice
postgreSQL
linux