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-сервер.

 

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

Новости
14 апреля 2022

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

11 марта 2022

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

12 февраля 2022

Статьи
12 марта 2018

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

20 февраля 2014

14 июня 2013

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