gifts2017

Резервная копия файловой базы данных на ftp сервер через cmd

Опубликовал Ярослав Володимирович (myr4ik07) в раздел Администрирование - Архивирование (backup)

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

Не хотелось использовать сторонние утилиты, поэтому из интернета по кусочку вышел такой способ резервного копирования, в моем случае, файловой базы данных 1С на резервный ftp-сервер.

 

!У удаленного фтп сервера серый, динамический айпи, Поэтому я использовал сервис https://www.noip.com/ для постоянного доступа к серверу.

Сервис представляет собой получение внешнего «статического» айпи адреса, а точнее доменного имени.

 

Значит, поехали. Создаем и сохраняем файл с именем ftp_backup_DB_1C.bat

С содержимым

:: кодировка, если с ней у вас все норм, тогда ниже строка вам

:: не нужна

@chcp 1251

:: «убить» процесс 1С

taskkill /IM 1cv8.exe /F /T

:: перейти в дирректорию «винрар-архиватора», который будет архивировать папку, естественно, архиватор должен уже быть :: установлен

cd "C:\Program Files\WinRar\"

:: архивируем папку d:\Base_1C\WorkDB в папку C:\db\, не забудьте создать папку db по пути :: C:\ с результирующим именем :: WorkDB-Год_Месяц_День_Часы_Минуты 

::  в итоге выходит наименование файла типа «WorkDB-2014-03-07_00-32.rar»

Rar a -agYYYY-MM-DD_HH-MM C:\db\WorkDB- "d:\Base_1C\WorkDB"

:: подключиться к фтп серверу ftpserver.no-ip.biz с настройками с файла Connect.txt, который   :: лежит по локальному  адресу :: C:\

ftp -n -s: C:\Connect.txt -i ftpserver.no-ip.biz

:: удалить уже не нужный нам архив с папки

del /f /q C:\db\*.*

 

А теперь создаем по пути C:\ файл Connect.txt с содержимым

:: Логин и пароль

USER Логин Пароль

:: перейти в папку 1C_DB_Sklad на фтп сервере

cd 1C_DB_Sklad

:: скопировать с локального компьютера на фтп сервер все, что находится в папке C:\db\, а у нас там :: архив базы данных

mput C:\db\*.*

:: закрыть фтп соединение

Quit

 

Далее, в Планировщике заданий (например, в моем случаи виндовс платформы) я создал задачу, где в выборе Действия выбрал батник, а в рабочей папке я указал C:\ 

все! 

Таким способом у меня два сервера бекаплят базы данных как локально, так и друг на друга без каких-либо проблем.

Кстати, почему-то, переброс резервного архива базы данных через cmd отправляется намного быстрее, чем используя вручную Проводник.

!Ниже приведу листинг файлов на всякий случай

Батник 

taskkill /IM 1cv8.exe /F /T
cd "C:\Program Files\WinRar\"
Rar a -agYYYY-MM-DD_HH-MM C:\db\WorkDB- "d:\Base_1C\WorkDB"
ftp -n -s:C:\Connect.txt -i ftpserver.no-ip.biz
del /f /q C:\db\*.*

Файл настроек 

USER admin pass
cd 1C_DB_Sklad
mput C:\db\*.*
quit

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Зарипов Илфат (zaripov.ilfat) 23.09.15 10:50
ftp.exe может подключаться к ftp-серверу только в активном режиме
2. Зарипов Илфат (zaripov.ilfat) 23.09.15 11:00
и на всякий случай имеем в виду

- если этот скрипт отрабатывает на терминальном сервере, прибивая процессы 1cv8 (что само по себе плохо), можно, например, узнать много нового о себе от пользователя, который запустил длительную обработку на ночь (может быть даже на другой базе)

- логин и пароль на доступ к ftp, на котором есть свежий бекап с нашей базой хранится в файле в открытом виде

3. Сергей (frogo) 23.09.15 11:22
на файловых базах я в качестве архиватора использую 7-zip, "прибивать" процесс 1С - нет необходимости.
4. Зарипов Илфат (zaripov.ilfat) 23.09.15 12:25
(3) frogo, в таком случае, наверное, возникает вопрос ценности такого архива. С большой долей вероятности полученный таким образом файл с точки зрения 1С окажется поврежденным. А там уже как повезет.
5. Николай Панихин (panihinnv) 23.09.15 12:53
Для backup файловой базы на FTP через cmd я использую ftpuse
Подключаю диск "C:\Program Files\FtpUse\ftpuse.exe" T: 192.168.1.11 password /user:user
а затем на него копирую уже созданный архивный файл также через cmd только средствами 7z
7z a -ssw -mx5 "E:\Backup\Data\%datetimef%\1C8\BUH_3" "D:\FILE\1C\BUH_3" | findstr /P /I /V "Compressing"
XCOPY "E:\Backup\Data" "T:\BackupData" /s /h /y
6. Сергей (frogo) 24.09.15 12:48
(4) zaripov.ilfat, Вы правы, есть не нулевая вероятность повреждения. Но на практике - мне не доводилось с таким встречаться. Бэкапы периодически (у некоторых еженедельно, у кого-то раз в месяц) проверяются на работоспособность - т.е. база восстанавливается из бэкапа и выполняется ТиИ - полное тестирование.
7. Ярослав Володимирович (myr4ik07) 30.09.15 13:07
(2) zaripov.ilfat, и о не безопасности данного способа и о"таске" процесса тоже усведомлен. Все выше для общего обозрения. Кто хочет использует, кто не хочет, ищет далее.
8. Ярослав Володимирович (myr4ik07) 30.09.15 13:12
(1) zaripov.ilfat, не понял, к чему это?
9. Зарипов Илфат (zaripov.ilfat) 06.11.15 14:36
(8) myr4ik07, к тому, что если ftp-сервер поддерживает подключения только в пассивном режиме, то системный ftp.exe ничего сделать не сможет. Придется воспользоваться какой-нибудь другой утилитой.
10. ivan (ayava) 01.12.15 07:36
надобно MD5 прикрутить, легко проверять на повреждения
11. Артём Шарипов (borodatii) 01.12.15 08:16
(10) ayava, я думаю, речь шла о целостности созданного архива при работающей 1С. MD5 тут ни к месту. Вот для проверки того, что целостность скаченной копии ранее созданного архива, MD5 ещё куда ни шло.
12. Виктор Пинчуков (viptextil) 06.05.16 10:31
(5) panihinnv, сейчас при наличии криптовирусов подключать удаленные файловые системы в виде дисков крайне опасно. Безопаснее по старинке, как у автора.
13. Алексей Гладких (revned) 23.09.16 12:32
Мне проще использовать cobain backup. Больше года полет нормальный. Больше настроек. На ftp выкладывает, архивы делает.
14. Dmitriy Kriv (1cbit_tomsk) 29.09.16 19:57
Прикрутить бы ещё, что бы он с ФТПшникак удалял старые копии.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа