Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Автоматически забирать бэкап с хостинга

Ответить
Настройки темы
Любой язык - Автоматически забирать бэкап с хостинга

Пользователь


Сообщения: 96
Благодарности: 2

Профиль | Отправить PM | Цитировать


Доброго времени суток.
На хостинге настроено ежедневное бэкапирование базы данных и самого сайта в отдельную папку на хостинге (backups).
Создан FTP-пользователь с паролем для прямого подключения к папке backups

Нужно настроить еженедельное (по субботам, например) копирование архива сайта и архива с базой данных (2 файла) с хостинга на внутренний сервер. Глубина вложения по схеме:
Должен быть каталог webArchive, внутри еще каталог site, внутри подпапки:
- В папке Year Хранить копию архива каждого 3 января года (т.е. папки ГГГГ_01_03, в которой два архива - база и сайт)
- В папке Month Хранить копию архива 1 числа каждого месяца последние 12 месяцев (т.е. папки с архивами от ГГГГ_01_01 до ГГГГ_12_01)
- В папке Last8Weeks Хранить копию архива последних 8-ми субботних архивов (папки ГГГГ_ММ_ДД с архивами)
При создании каждого из архивов должен приходить отчет на почту об успешном или не успешном копировании файла на сервер

Архивы в папке хостинга лежат в формате:
db_ГГГГ-ММ-ДД.gz
site_ГГГГ-ММ-ДД.tar.gz

Помогите, пожалуйста, как правильно это реализовать, и вообще, возможно ли?

Отправлено: 14:01, 23-09-2016

 

Пользователь


Сообщения: 96
Благодарности: 2

Профиль | Отправить PM | Цитировать


Пока сделал такой код в обычном BAT-нике, чтобы он сливал эти два файла в нужную папку с FTP:
Код: Выделить весь код
@echo off
::Задаем параметры подключения
set host=ftp.name.nichost.ru
set user=name
set password=pass
set Mainfolder=
set SubFolder=/%date:~6%-%date:~3,2%-%date:~0,2%
set fileMask=*
set LocalFolder=c:\webArchive\site\%date:~6%-%date:~3,2%-%date:~0,2%
 
::Временный файл команд для утилиты FTP.exe
set BackupFTP="%temp%\FTP_Backup.txt"
 
::Генерируем файл FTP команд
> %BackupFTP% (
  echo open %host% %port%
  echo %user%
  echo.%password%
  echo binary
  echo prompt
  echo hash
  md  %LocalFolder%
  echo lcd "%LocalFolder%"
  if "%Mainfolder%" neq "" echo cd "%Mainfolder%"
  if "%SubFolder%" neq "" echo cd "%SubFolder%"
  echo mget %fileMask%
  echo disconnect
  echo quit
)
 
::Добавляем утилиту FTP в исключения брандмауера Windows
netsh firewall add allowedprogram "%windir%\system32\ftp.exe" ENABLE
 
::Запускаем на выполнение пакетник команд FTP
ftp.exe -s:%BackupFTP%
 
::Удаляем пакетник
del /f /q %BackupFTP%
pause
Вопрос: как сделать, чтобы он чекал папки и оставлял последние 8 папок с архивами?

А остальные удалял.

Отправлено: 13:02, 24-09-2016 | #2



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 96
Благодарности: 2

Профиль | Отправить PM | Цитировать


Так, это тоже сделал, добавив:
Код: Выделить весь код
forfiles /p "C:\webArchive\site" /d -56 /c "cmd /c if /i @isdir equ true rd /q /s @path"
Остались следующие вопросы:
1. Как сделать, чтобы БАТ-ник запускался в "тихом" режиме, не выводя консольное окно?
2. Как реализовать корректную запись лога выполнения БАТ-ника в txt-файл, например:
ВРЕМЯ ГГГГ_ММ_ДД Файл1 успешно/не успешно загружен в ПАПКА Файл2 успешно/не успешно загружен в ПАПКА.
Если не успешно - пишет причину (сбой соединения, невозможность подключения...)
3. Как настроить автоматическую отправку письма на e-mail об успешности/не успешности выполнения БАТ-ника (если какой-то из файлов загружен с ошибкой или не удалось подключиться к FTP - считать выполнение не успешным).

Отправлено: 20:26, 25-09-2016 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Автоматически забирать бэкап с хостинга

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Память под точки восстановления. Сколько будет забирать? _VIPER_ Microsoft Windows 7 4 27-05-2015 11:05
CMD/BAT - забирать файлы, с конкретным расширением с Ftp сервера с некоторым интервалом времени n.krivtsov Скриптовые языки администрирования Windows 4 06-08-2010 07:15
[решено] Клиент не хочет забирать обновления Diesel315 WSUS 11 26-08-2009 21:37
FreeBSD - [решено] забирать почту c freebsd bsdfree7 Общий по FreeBSD 5 25-02-2009 20:15
Перенос хостинга Siava one Вебмастеру 4 26-01-2004 13:08




 
Переход