Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование Web серверов и Web служб > Создание бэкапа файлов и базы. Загрузка на FTP.


Автор: Wowa 4.8.2007, 09:51
Код

#!/bin/bash

cd /home/mydomain/backup

# Database Settings
DATABASES='database1 database2 database3'
DATABASE_PREFIX='mysite_'
DATABASE_USER='mysite_username'
DATABASE_PASS='mypassword'

# FTP Settings
FTP_HOST='myserver.com'
FTP_USER='backup_user'
FTP_PASS='backup_password'
FTP_PATH='/'

# Backup entire home directory
TIMESTAMP=`date +%F-%H-%M`
tar -czf ${TIMESTAMP}_files.tar.gz --exclude ../backup --exclude ../www ../

# Backup databases
for database in ${DATABASES}
do
    mysqldump -u ${DATABASE_USER} --password=${DATABASE_PASS} --opt -Q ${DATABASE_PREFIX}${database} > ${TIMESTAMP}_${database}.sql && gzip --best ${TIMESTAMP}_${database}.sql
done

# Combine the backup
tar -cf ${TIMESTAMP}.tar *.gz

# Remove all by the final tar
rm *.gz

# Upload the backup
ftp -i -n ${FTP_HOST} << EOF
user ${FTP_USER} ${FTP_PASS}

binary
passive
cd ${FTP_PATH}
put ${TIMESTAMP}.tar

quit
EOF

# Remove the remaining tar
rm *.tar

exit 0

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)