Скрипт автоматического обновления и бекап drupal 7

Главные вкладки

Аватар пользователя voviko voviko 27 июня 2018 в 11:01
1

Простой скрипт бекапа и обновлений семерки. Выкладываю чтобы был под рукой, ну и полезен думаю многим, кто не пользуется. Лично у меня обновления уже очень много времени занимает.

Взято отсюда

#!/bin/bash

# Set parameters.
BACKUP_PATH=$HOME/backups
DRUPAL_PATH=/var/www/html

# Create the backup folder if necessary.
if [ ! -d $BACKUP_PATH ]; then
        mkdir -p $BACKUP_PATH
fi

# Discard old backups.
for FILE_DATE in $(ls $BACKUP_PATH | grep -E ^[0-9]{8}\.tar\.gz | cut -c-8)
do

        # Compute backup characteristics.
        DAYS_SINCE=$(( ($(date +%s) - $(date --date=$FILE_DATE +%s) )/(60*60*24) ))
        FILE_MONTH=$(echo $FILE_DATE | cut -c5-6)
        FILE_DAY=$(echo $FILE_DATE | cut -c7-8)

        # Discard backups more than a year old that are not the first of the year.
        if [ $DAYS_SINCE -gt 365 ] && [ $FILE_MONTH$FILE_DAY != '0101' ]; then
                rm $BACKUP_PATH/$FILE_DATE.tar.gz

        # Discard backups more than three months old that are not the first of the month.
        elif [ $DAYS_SINCE -gt 90 ] && [ $FILE_DAY != '01' ]; then
                rm $BACKUP_PATH/$FILE_DATE.tar.gz

        # Discard backups more than a week old that are not a Sunday or the first of the month.
        elif [ $DAYS_SINCE -gt 7 ] && [ $FILE_DAY != '01' ] && [ $(date --date=$FILE_DATE +%A) != 'Sunday' ]; then
                rm $BACKUP_PATH/$FILE_DATE.tar.gz
        fi
done

# Put the site into maintenance mode, perform updates, and generate today's backup.
CURRENT_PATH=$(pwd)
cd $DRUPAL_PATH
drush vset maintenance_mode 1
drush up -y
drush cc all
drush ard --destination=$BACKUP_PATH/$(date +%Y%m%d).tar.gz --overwrite
drush vset maintenance_mode 0
cd $CURRENT_PATH

1. создаем файл, например backup.sh (nano backup.sh )
2. делаем файл исполняемым (chmod +x backup.sh)
3. добавляем автозапуск по расписанию. ( crontab -e )
4. пишем в crontab (* /23 * * /Пусть до файла/backup.sh) //запуск в 23 часа, раз в сутки.

Комментарии

Аватар пользователя voviko voviko 27 июня 2018 в 11:22

Semantics wrote:

А чем вам drush up и drush ard не угодил?


Так это оно и есть. А вот если сайтов больше 20ти и нужно держать копии ежедневные.
Сделать копию, выкачать. пока копия делается, часто забываешь про неё.
Тут главное не ленится выкачивать копии.
Как у меня история была, на RAID 10 2 диска из 4х отказали. на разных ветках.
Можно кидать бекапы на локальный домен с защитой по ИП и выкачивать с бекап сервера через крон.