Ещё в июле месяце я подготовил этот материал по просьбам читающих, но так и не смог выложить в сеть, т.к. попал в аварию.. Итак, меньше слов 🙂

Остановимся на некоторых настройках:

TMP_DIR – временная директория. Указывайте существующую директорию, она всё равно будет очищаться после заливки бекапа на FTP.

DBLIST – базы данных, которые нужно бекапить.

$TAR cfP watch.felix90.ru.tar /home/user/watch.felix90.ru – делает бекап той или иной директории. Пример:

$TAR cfP felix90.tar /home/user/felix90.ru

$TAR cfP site.ru.tar /home/user/site.ru

$TAR cfP google.com.tar /home/user/google.com

$TAR cfP porno.tar /home/user/porno

Вроде всё. Сам скрипт:

#!/bin/bash

# System setting
DBUSER="user"
DBPASS="password"
DBHOST="localhost"
DBLIST="database1 database2 database3"
NOW=$(date +%d-%m-%Y-%H-%M)
TMP_DIR=/root/backup
ARCHIVE_NAME=backup-$NOW.tar.gz
ARCHIVED_DIR=$TMP_DIR/$NOW
OK='\E[47;34m'"\033[1m Done \033[0m\n"

# FTP setting
FTPD="/"
FTPU="user"
FTPP="password"
FTPS="ftp.domain.com"

# Binaries
TAR="$(which tar)"
GZIP="$(which gzip)"
FTP="$(which ftp)"
MYSQLDUMP="$(which mysqldump)"

echo -en "Backup sites... "

mkdir $ARCHIVED_DIR
mkdir $ARCHIVED_DIR/db
mkdir $ARCHIVED_DIR/sites

cd $ARCHIVED_DIR/sites
$TAR cfP watch.felix90.ru.tar /home/user/watch.felix90.ru

echo -en $OK "Backup database... "

for DB in $DBLIST; do

FILE=$ARCHIVED_DIR/db/$DB.gz

$MYSQLDUMP -u $DBUSER -h $DBHOST -p$DBPASS $DB | $GZIP -9 > $FILE

done

echo -en $OK "Data archiving..."

cd $TMP_DIR
$TAR czfP $ARCHIVE_NAME $ARCHIVED_DIR

echo -en $OK "Copying file: "

# ftp backup

cd $TMP_DIR
DUMPFILE=$ARCHIVE_NAME
$FTP -n $FTPS <<END_SCRIPT
quote USER $FTPU
quote PASS $FTPP
cd $FTPD
mput $DUMPFILE
quit
END_SCRIPT
                                    
echo -en "to FTP... " $OK "Delete temporary data... "

cd $TMP_DIR
rm -rf *

echo -en $OK '\E[47;34m'"\033[1m Backup completed \033[0m\n"

Комментируйте 🙂

Подписываемся на обновления блога по Email:

Введите адрес электронной почты



Метки: , ,

1 комментарий


  1. Andrei on 16 Янв 2014

    Copying file: mput backup-16-01-2014-18-48.tar.gz? backup-16-01-2014-18-48.tar.gz: Permission denied

    не могу разобраться!!!


Оставьте свой комментарий