# Скрипты для бэкапирования (PostgreSQL, Linux) **Category:** [Резервное копирование](https://community.tezis-doc.ru/c/rezervnoe-kopirovanie/52) **Created:** 2024-07-03 08:06 UTC **Views:** 427 **Replies:** 0 **URL:** https://community.tezis-doc.ru/t/skripty-dlya-bekapirovaniya-postgresql-linux/295 --- ## Post #1 by @d.slepnev Для снятия резервной копии базы данных и переноса файлов системы в архив можно использовать приведенный ниже скрипт. В скрипт добавлен этап архивирования с помощью программы zip (должен быть установлен на сервере). Скрипт приведен в качестве примера, требует редактирования под реалии заказчика. ``` #Current Date Tdate=`date +%Y_%m_%d` #Postgresql path PG_DIR=/usr/lib/postgresql/10/bin #Tomcat path TOMCAT_DIR=/opt/haulmont/tomcat #Backup root folder BACKUP_DIR=/opt/BACKUP/archive #Postgresql host and port PG_HOST=localhost PG_PORT=5432 #Database name DB_NAME=thesis #DB user PG_USER=root if [ ! -d $BACKUP_DIR/$Tdate ]; then mkdir $BACKUP_DIR/$Tdate fi DUMP_FILE=$BACKUP_DIR/$Tdate/$DB_NAME'_'$Tdate.dump $PG_DIR/pg_dump -w -h $PG_HOST -p $PG_PORT -Fp -f $DUMP_FILE -U $PG_USER $DB_NAME TOMCAT_BACKUP_DIR=$BACKUP_DIR/$Tdate/tomcat if [ ! -d $TOMCAT_BACKUP_DIR ]; then mkdir $TOMCAT_BACKUP_DIR fi cp -uR $TOMCAT_DIR/* $TOMCAT_BACKUP_DIR #zip -r $BACKUP_DIR/$Tdate.zip $BACKUP_DIR/$Tdate ``` Для удаления старых копий можно использовать второй скрипт. Он просматривает файлы в папке и ищет файлы старше 10 дней, после удаляет их. ``` #! /bin/bash i=10 #(или ваше число дней) find /opt/BACKUP/archive -type d -mtime +$i -exec rm -dfR {} \; ``` Оба файла нужно сделать исполняемыми и прописать в крон с помощью команд: **chmod +x filename** **export EDITOR=nano** - устанавливает редактор по умолчанию на сессию nano **crontab -e** - открывает файл расписания по умолчанию По ссылке ресурс для помощи настройки расписания - https://crontab.guru/#45_10_*_*_* --- **Canonical:** https://community.tezis-doc.ru/t/skripty-dlya-bekapirovaniya-postgresql-linux/295 **Original content:** https://community.tezis-doc.ru/t/skripty-dlya-bekapirovaniya-postgresql-linux/295