ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Windows (https://forum.antichat.xyz/forumdisplay.php?f=125)
-   -   батник копирование на ftp, с затиркой старых файлов (https://forum.antichat.xyz/showthread.php?t=1892246)

Alex_Foks 22.03.2013 21:24

собственно есть сервер win2003
выполняется копирование батников по пути D:\!!BackUP\Last_10_Days
файлы получаются такие
01____00.00____22.03.2013.zip
02____00.00____21.03.2013.zip
03____00.00____20.03.2013.zip
и т.д. до
10____00.00____13.03.2013.zip
размеры архивов где то 500-600 мб.
есть ftp

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

Simak 23.03.2013 01:51

Чуток не понял сути. Как я понял: есть папка на локалхосте "D:\!!BackUP\Last_10_Days" из нее нужно копировать 2 самых свежих архива на удаленный ftp (т.к. размер позволяет хранить только 2 файла таких размеров). Еще понял по структуре названия файлов, что 2 самых свежих архива будут всегда начинатся с 01 и 02. Я все верно понял?

Если да, то создаешь .bat файл с такой строкой:

Код:


Код:

ftp.exe -s:ftp.txt>log.txt
Создаешь ftp.txt в той же папке, что и .bat с таким содержанием:

Код:


Код:

open 255.255.255.255 //адрес удаленного ftp-сервера
login //логин
pass  //пароль
binary
put D:\!!BackUP\Last_10_Days\01*.zip /www/ //копирует файлы по маске имен последних 2-х файлов 01*.zip и 02*.zip, "/www/"-удаленный каталог на ftp
put D:\!!BackUP\Last_10_Days\02*.zip /www/
bye

Для .bat файла делаешь задание запускаться раз в сутки и все(это можно сделать в планировщике заданий Windows или из той же cmd).

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

Alex_Foks 23.03.2013 18:18

что то похожее и я наваял, а вот как прописать удаление файла ?

Simak 23.03.2013 21:44

Ну раз похожее наваяли, то могли и представить, а все бы оценили работоспособность! В сети много вариантов, но что-то они как-то не работали. А я Вам дал проверенный мной рабочий код. А раз уж с предыдущим справились, то с такой мелочью думаю у Вас проблем не возникнет. Но раз во всех поисковиках Вас забанили, то вот первое попавшееся из сети:

Alex_Foks 24.03.2013 09:45

а как можно почистить, последний файл по дате ?

Simak 26.03.2013 13:19

Если проблем со скоростью доступа к ftp нет, то можно просто очищать папку с 2 старыми архивами, и заливать 2 самых свежих. Если же это проблематично, можно что-нить придумать.

Alex_Foks 27.03.2013 21:45

Решил копии ложить, на внешний сетевой накопитель, поэтому вопрос так сказать решен. (другим способом)
PS спасибо Simak за помощь )

Parenek 17.04.2013 11:46

я данную проблему решил с помощью NetCopier.

Скрытое содержимое доступно для зарегистрированных пользователей!


Name: OxEn s/n: 276164777


Время: 18:56