Простой скрипт для создания резервные копии файлов сайтов и баз данных.
#!/bin/bash # # Директория сайтов SITEDIR="/var/www/html" # Исключения IGNORE="/tmp" # Директория хранения резервных копий DIRBACKUP="/var/www/backup" # Имя директории для архивов FOLDER="backup"-$(date '+%F-%H-%M') # Имя архива сайтов NAME="sites"-$(date '+%F-%H-%M') # Создаем директорию mkdir $DIRBACKUP/$FOLDER # Перехоми в созданную директорию cd $DIRBACKUP/$FOLDER # Архивируем директорию сайтов tar -czf $NAME.tar.gz $SITEDIR --exclude=$IGNORE # MySQL HOST="localhost" USER="root" PASS="password" DBNAME1="base1" DBNAME2="base2" DBNAME3="base3" # Имена архивов баз данных DBFILE1=$DBNAME1-$(date '+%F-%H-%M')".sql.gz" DBFILE2=$DBNAME2-$(date '+%F-%H-%M')".sql.gz" DBFILE3=$DBNAME3-$(date '+%F-%H-%M')".sql.gz" # Архивируем базы данных mysqldump -h$HOST -u$USER -p$PASS $DBNAME1 | gzip > $DBFILE1 mysqldump -h$HOST -u$USER -p$PASS $DBNAME2 | gzip > $DBFILE2 mysqldump -h$HOST -u$USER -p$PASS $DBNAME3 | gzip > $DBFILE3 # Переходим в директорию резервных копий cd $DIRBACKUP # Объединяем файловый архив и архивы баз данных tar -cf $FOLDER.tar $FOLDER # Удаляем созданную директорию rm -r $FOLDER # Переназначаем владельца chown -R apache:apache /var/www/backup # Ищем в директории с резервными копиями файлы старше 30 дней и удаляем их find $DIRBACKUP -mtime +30 -type f -exec rm -rf {} \;