SH-скрипт для закачки на FTP

Для закачки на сервер бэкапов (или любой другой FTP-сервер) можно воспользоваться следующим SH-скриптом, который легко модифицируется под собственные нужды:


#!/bin/bash
# Server backup script by coretek.ru (c) 2012
# You should run in on source Linux system

# создание на локальном сервере временного каталога для архива
mkdir /backups
cd /backups

# упаковка указанных каталогов в архив
# по умолчанию пакуется каталог home, базы mysql (не дамп!), www, крон-задания, каталог с конфигами
tar cfz backup.tar.gz /home /var/lib/mysql /var/www /var/spool/cron /etc

# соединение с указанным сервером через FTP

# hyperserver.ru либо любой другой ip или домен
ftp -n -v hyperstream.ru << EOT
# режим передачи
ascii
# указать свои имя пользователя и пароль
user ftp_user ftp_password
prompt
# переход в каталог на удаленном сервере (должен быть создан заранее)
cd backups
# удаление каталога со "старым" бэкапом
mdelete old
rmdir old
# переименование каталога с последним бэкапом в "старый" каталог
rename last old
# создание каталога для последнего бэкапа
mkdir last
cd last
# закачка ранее созданного архива на ftp-сервер
put backup.tar.gz
bye
EOT

# удаление созданного архива на локальном сервере
rm backup.tar.gz


Проще всего запускать скрипт и контролировать периодичность работы через cron:

Положить скрипт в /root/backup-script.sh

Выполнить: crontab -e

Добавить строку: 0 1 * * * sh /rot/backup-script.sh  >/dev/null 2>&1

Перезапустить cron: service cron restart

В данном примере бэкап будет производиться ежедневно в час ночи по серверному времени.

 

Данный скрипт можно использовать и с панелями управления, имеющими собственные системы резервирования. К примеру в Cpanel и ISP manager можно настроить резервирование аккаунтов пользователей на локальный диск, а затем скриптом упаковывать каталог с бэкапами и закачивать его на FTP-сервер.

 

Для уменьшения нагрузки на процессор, при наличии быстрых дисков, можно уменьшить степень сжатия при архивировании.

Новости
23/06/2022

Для удобства оплаты подключен новый способ приема платежей в рублях картами не резидентов ЕС - Enot.io....

14/04/2022

Мы изменили список доступных методов оплаты и работаем над подключением новых платежных шлюзов. Теперь...

11/03/2022

Проблема устранена. --- В настоящее время у нас возникла проблема с подключением в части...

Статьи
12/03/2018

Что такое VPN? VPN - Virtual Private Network (виртуальная частная сеть). Это общее название...

20/02/2014

14/06/2013

Что такое домен? Что нужно что бы купить доменное имя? Что нужно знать про домен? Как...