Отправка на FTP c сохранение структуры диры

Обсуждение программ nnCron и nnCron LITE

Отправка на FTP c сохранение структуры диры

Postby observer » Thu, 03 Dec 2009, 09:15

Вот такой вопросик возник, прошу просто проверить. Задача:Отправить с определенной диры другую диру с названием= текущая дата на нужный фтп в определенное место с сохранение структуры диры, которую нужно отправить.

Code: Select all
asLoggedUser
Time: 0 5 * * * *
Action:
ShowNormal   NormalPriority
DIR-CREATE: "C:\dir\%DD%.%MM%.%YYYY%\dir1"
DIR-CREATE: "C:\dir\%DD%.%MM%.%YYYY%\dir2"
DIR-CREATE: "C:\dir\%DD%.%MM%.%YYYY%\dir3"

wput −−basename=%DD%.%MM%.%YYYY% C:\dir\%DD%.%MM%.%YYYY% ftp://pas:login@ftp_name/dir_name/
observer
 
Posts: 6
Joined: Mon, 30 Nov 2009, 23:35

Re: Отправка на FTP c сохранение структуры диры

Postby Wyz » Thu, 03 Dec 2009, 10:21

Imho "−−basename=c:\dir\%DD%.%MM%.%YYYY%" или "−−basename=c:\dir".

На первой странице уже есть тема про ftp.
Wyz
 
Posts: 389
Joined: Tue, 11 Dec 2007, 01:42

Re: Отправка на FTP c сохранение структуры диры

Postby observer » Thu, 03 Dec 2009, 11:49

Wyz wrote:Imho "−−basename=c:\dir\%DD%.%MM%.%YYYY%" или "−−basename=c:\dir".

На первой странице уже есть тема про ftp.

Условия отличаются:)
observer
 
Posts: 6
Joined: Mon, 30 Nov 2009, 23:35

Re: Отправка на FTP c сохранение структуры диры

Postby observer » Mon, 21 Dec 2009, 14:36

Wyz wrote:Imho "−−basename=c:\dir\%DD%.%MM%.%YYYY%" или "−−basename=c:\dir".

На первой странице уже есть тема про ftp.


Уже не до сохранения структуры диры, а просто бы нужный файлик отправить.
Проверил кучу разных вариаций, но так и не оказался нужный тестовый файлик на фтп.
Code: Select all
C:\Documents and Settings\Администратор>"D:\public\report\send\wput.exe" --outpu
t-file="d:\public\report\test\1.log" --basename="d:\public\report\test" test.txt
 "ftp://log:pas@ftpname/dir/"


в логе:
Error: File `test.txt' does not exist. Don't know what to do about this URL.
Nothing done. Try `wput --help'.


Еще была одна вариация, но не сохранил лог. Там было подключение к фтп- ок
логин-ок
test.txt - skipped
почему пропущена то?!
Поправьте пожалуйста :roll:
observer
 
Posts: 6
Joined: Mon, 30 Nov 2009, 23:35

Re: Отправка на FTP c сохранение структуры диры

Postby Wyz » Mon, 21 Dec 2009, 22:18

observer wrote:Error: File `test.txt' does not exist.

Полный путь до него указывал?
test.txt - skipped
почему пропущена то?!
Поправьте пожалуйста :roll:

Может уже лежал такой?
Wyz
 
Posts: 389
Joined: Tue, 11 Dec 2007, 01:42

Re: Отправка на FTP c сохранение структуры диры

Postby observer » Tue, 22 Dec 2009, 09:45

Wyz wrote:
observer wrote:Error: File `test.txt' does not exist.

Полный путь до него указывал?
test.txt - skipped
почему пропущена то?!
Поправьте пожалуйста :roll:

Может уже лежал такой?


единичный файл отправить удалось. А вот скопировать полностью диру - никак :(
везде skipped и skipped.
observer
 
Posts: 6
Joined: Mon, 30 Nov 2009, 23:35

Re: Отправка на FTP c сохранение структуры диры

Postby Serg1_cv » Fri, 09 Dec 2011, 01:01

Так все таки начнем сначала, удалось ли кому нибудь средствами крона залить на фтп структуру папок с их содержимым, или все таки это никак не возможно, ну оччень нужно помогите пожалуйста
Serg1_cv
 
Posts: 151
Joined: Thu, 22 Mar 2007, 13:39
Location: Черновцы

Re: Отправка на FTP c сохранение структуры диры

Postby Morituruz » Fri, 09 Dec 2011, 08:35

Почему бы в цикле FOR-FILES не запускать вашу загрузочную утилиту для каждого файла, например?
User avatar
Morituruz
 
Posts: 727
Joined: Sun, 14 Oct 2007, 01:51

Re: Отправка на FTP c сохранение структуры диры

Postby Serg1_cv » Fri, 09 Dec 2011, 13:58

не получится так как она скорее всего просто копирует файл, а на фтп нужно еще папку создавать и т.д и т.п я думал что можно как в фаре сазал скопировать папку на фтп вот оно папку и скопирует, через утилиту ftp тоже по моему не возможно папку на фтп залить там нету такой функции насколько я знаю. put отправка одного файла , wput - отправка нескольких файлов, вот только оно просто отправляет несколько файлов а папку не отправляет
Serg1_cv
 
Posts: 151
Joined: Thu, 22 Mar 2007, 13:39
Location: Черновцы

Re: Отправка на FTP c сохранение структуры диры

Postby Morituruz » Fri, 09 Dec 2011, 16:05

Таки это тогда вопрос к wput, почему она MKDIR не хочет делать, а не к nncron.
http://stackoverflow.com/questions/3830 ... oad-folder
User avatar
Morituruz
 
Posts: 727
Joined: Sun, 14 Oct 2007, 01:51

Re: Отправка на FTP c сохранение структуры диры

Postby AlikasS » Fri, 09 Dec 2011, 16:18

интересно, как раз планирую зеркалирование локального сайта в интернет(narod.ru) через ftp
User avatar
AlikasS
 
Posts: 1437
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Отправка на FTP c сохранение структуры диры

Postby VoidVolker » Fri, 09 Dec 2011, 21:02

Как-бы уже давно использую wget и wput:
Code: Select all
: wget.exe " D:\wget\bin\wget.exe " ;
: wget.log " E:\TEMP\NET-GET\logs\%DD%-%MM%-%YYYY%.log" ;
\ : wget.log " %NNCRON-HOME-DIR\%LOGS\WGET\%DD%-%MM%-%YYYY%.log" ;

: wput.exe " D:\wput\wput.exe" ;
: wput.log " E:\TEMP\NET-PUT\logs\%DD%-%MM%-%YYYY%.log" ;
\ : wput.log " %NNCRON-HOME-DIR\%LOGS\WPUT\%DD%-%MM%-%YYYY%.log" ;

: LINK>FILENAME   \ ( path -- fname )
  " \" BACK-SEARCH
    IF
      1 -1 D+
    ELSE
      " /" BACK-SEARCH
        IF 1 -1 D+ THEN
    THEN
  DUP 1 < IF 2DROP "" THEN
;

: CATALOG?   \ ( a u -- ? ) \ Проверяет наличие какого-либо слеша в позиции последнего символа
  + 1- C@ [CHAR] / OVER = SWAP [CHAR] \ = OR
;

: NET-GET   \ ( au_netfullpath au_localfullpath -- ) \ Скачать из сети определенный файл и сохранить
\ его под определенным именем. Файл скачивается во временный каталог(со временным случайным именем)
\ и только потом перемещается. Если файл уже существует - он перезаписывается.
\ Логи сохраняются по дням.
  2OVER CATALOG?
  IF ABORT" NET-GET -> Указан сетевой линк на каталог - не знаю что скачивать."  THEN
  2DUP CATALOG?
  IF ABORT" NET-GET -> Указан локальный линк на каталог - не знаю куда сохранять." THEN
 
  2>R                                         \ netpath  R: localpath
  BASE @ >R HEX                               \ netpath  R: localpath base
  0x7FFFFFFF RANDOM 0x7FFFFFFF RANDOM
  <# # # # # # # # # # # # # # # # # #>             \ netpath tempname  R: localpath base
  R> BASE !                                   \ netpath tempname  R: localpath
  2DUP "" S+ 2>R                              \ netpath tempname  R: localpath tempname
  " -O " 2SWAP S+ "  " S+ 2SWAP S+            \ "-o tempname netname"  R: localpath tempname
   SWHide               \ Не показывать окно приложения
  StartIn: "E:\TEMP\NET-GET\"
  wget.exe 2SWAP S+ "  -k -a |q%wget.log%|q" S+
  START-APPW                \ R: localpath tempname
 
  \ Файл скачан, теперь обрабатываем его
  " E:\TEMP\NET-GET\" 2R> S+ 2R>              \ temppath localpath
  2DUP FDELETE        \ Удаляем локальныый файл, если он уже есть
  2DUP REL-PATH DIR-CREATE   \ Создаем промежуточные каталоги, если необходимо
  2OVER 2SWAP FMOVE   \ Перемещаем с переименовыванием файл из временного каталога
  FDELETE             \ На всякий случай удаляем скачанный, но не перемещенный по каким-либо причинам файл - чтобы не засорять.
\ 2DROP
;

: NET-MOVE   \ ( au_localpath au_netpath -- ) \ Начать перемещение файлa в сеть.
\ Если файл уже существует - он перезаписывается. Если в качестве источника укзан каталог, то
\ передаются все файлы из данного каталога. Успешно переданные файлы удаляются.
\ Логи сохраняются по дням.
  2SWAP 2DUP CATALOG?  \ Указан каталог?
  IF  \ То закачиваем все файлы из локального каталога
  \ -B бинарный режим, -u перезапись, -nc без докачки, -R удалить переданные исходные файлы
  \ -t<num> число поппыток, -a "<path>" дописывание лога
    StartIn: "%1 esPICKS%"
    " %wput.exe% -R -B -u -nc -t5 -a |q%wput.log%|q |q" 2SWAP S+ " |q" S+
  ELSE \ Иначе передаем только файл
    StartIn: "E:\TEMP\NET-PUT\"
    " %wput.exe% -R -B -u -nc -t5 -a |q%wput.log%|q |q" 2SWAP S+ " |q |q" S+ 2SWAP S+ " |q" S+
  THEN
   SWHide               \ Не показывать окно приложения
  START-APP
;
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Отправка на FTP c сохранение структуры диры

Postby Serg1_cv » Sat, 10 Dec 2011, 00:34

сделал все намного проще, скачал набор утилит Ncftp с ftp://ftp.ncftp.com/ncftp/binaries/Setu ... 03.2.5.msi
мне нужно было для реализации ncftpput.exe
запускаю так
ncftpput -u Пользователь -p пароль -R название_фтп_сервера / что_заливать_например(d:\root\in\TO_FTP\*.*)
таким макаром заливает все что есть в источнике и файлы и каталоги
Serg1_cv
 
Posts: 151
Joined: Thu, 22 Mar 2007, 13:39
Location: Черновцы

Re: Отправка на FTP c сохранение структуры диры

Postby VoidVolker » Sat, 10 Dec 2011, 07:17

Да кстати, для NET-GET нужен плагин Autostrings.spf и слово BACK-SEARCH.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Отправка на FTP c сохранение структуры диры

Postby Serg1_cv » Sun, 11 Dec 2011, 02:44

Сравнил свою реализацию и реализацию VoidVolker:
ИТак
wput.exe ведет более восприимчивый лог, это к плюсам,
и задача предложенная VoidVolker оставляет структуру уже залитых на фтп папок, хотя при этом папки пустые, это к минусам, посколько моя задача после заливки структуры папок с файлами делает:
Code: Select all
DIR-DELETE: "d:\root\in\TO_FTP"
Serg1_cv
 
Posts: 151
Joined: Thu, 22 Mar 2007, 13:39
Location: Черновцы

Next

Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 3 guests

cron