FTP скрипт сохраняет временную метку файла после ввода - PullRequest
2 голосов
/ 02 июня 2010

Я знаю, что FTP не поддерживает передачу и сохранение файлов с отметками даты / времени Хотите знать, есть ли у кого-нибудь идеи / сценарии (Shell / perl), которые сохранили бы метку времени переданного файла после операции put?

Ответы [ 3 ]

2 голосов
/ 02 июня 2010

ncftp - это стандартное обновление до /bin/ftp. Проверьте ncftpput S -y вариант:

-y Попробуйте использовать «SITE UTIME» для сохранения временных меток на удаленном хосте. Не многие удаленные FTP-серверы поддерживают это, поэтому он может не работать.

Вы также можете быть уверены, зная, что ncftp прекрасно работает на многих платформах (включая Windows)

2 голосов
/ 02 июня 2010

Можете ли вы попытаться перенести ваши файлы в tar-файл? После извлечения из .tar метки времени будут восстановлены.

1 голос
/ 02 июня 2010
  1. Один из вариантов - rcp -p. Я уверен, что есть какой-то эквивалент для более безопасного scp.

  2. Как отмечает Autocracy, если вы можете, просто tar / zip / в противном случае заархивируйте файл перед передачей и верните обратно. К сожалению, это не всегда работает - скажем, если у вас нет контроля / доступа к исходному серверу файла.

  3. В качестве альтернативы, после «get» -тирования файла через FTP, измените временную метку на правильную, используя Perl utime() или команду Unix touch.

    Предупреждение: если вы помещаете файл на удаленный сервер, вам необходимо подключиться (ssh / telnet / rsh) для запуска сенсорной команды. Вроде громоздко и не то, что я бы порекомендовал, но правильное решение даже для "пут".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...