Проблема с датой создания файла.

Главная Форумы System X (Lenovo) System X (Lenovo) – всё про серверы Проблема с датой создания файла.

Просмотр 9 веток ответов
  • Автор
    Сообщения
    • #14335
      Dmitriy Sh
      Участник

      Добрый день.
      Есть скрипт, который по ftp проверяет дату создания дамп-файлов, сверяет их с текущей датой, и если дамп за “сегодняшнее число” – в наличие, то говорит что всё “ОК”.
      Но я стал замечать некоторые сбои в работе скрипта.
      Иногда, при проверке даты создания дампа, скрипт возвращает неверное время, например :

      Дата дамп файла : 03.01.2012 23:53:00
      Дамп файл : dump_2012-01-04.dmp
      Дата дамп файла : 05.01.2012 1:45:00
      Дамп файл : dump_2012-01-05.dmp

      в то время как LS – L показывает совсем другое :

      -rw-rw-rw- 1 my_login staff 27870528195 Jan 04 03:53 dump_2012-01-04.dmp
      -rw-rw-rw- 1 my_login staff 28393956240 Jan 05 05:45 dump_2012-01-05.dmp

      На сервере установлена ОС AIX 5.2
      Вот что показывает :

      my_login@[my_server]#date
      Sun Jan 8 13:16:23 MSD 2012

      my_login@[my_server]#date -u
      Sun Jan 8 09:16:24 GMT 2012

      my_login@[my_server]#env | grep TZ
      TZ=MSD-4

      Решится ли проблема, если поставить TZ=MSK-4 ?
      Или проблема где-то в другом месте ?

      p.s. vbs-скрипт запускает из под виндового сервера.

    • #14338
      Alex
      Участник

      Мне кажется, слово “иногда” тут лишнее. Расхождение в четыре часа присутствует всегда, просто вылазит на пограничных случаях.

      Из исходных данных не ясно, какое же время в итоге считается “правильным”. Приведите (для любого файла)

      1) реальную дату создания
      2) дату, которую даёт вывод ls -l с правильной таймзоной
      3) дату, видимую, если зайти по ftp

    • #14348
      Aleksandr
      Участник

      Я столкнулся с этим, правда на линуксовой машине как сервер ftp и клиенете на ОС Windows. это проблема отоброжения клиента. Когда заходишь на сам сервер по ссш допустим, то время создания файла отображается корректно, когда с клиента ftp на линуксе, с отключенными опциями локализации вроемени – все хорошо, как толко заходишь с ОС WINDOWS по фтп, так получаешь разницу 4 часа.

    • #14355
      Alex
      Участник

      Не представляю, как такое может быть. Проверил сейчас для консольного ftp с машины коллеги (Windows 7) – всё нормально.

      Более того, в линуксе можно выставить любую таймзону, на отображение времени файлов в ftp это не повлияет (у меня не повлияло, по крайней мере, для штатного консольного).

    • #14359
      Dmitriy Sh
      Участник

      Мне кажется, слово “иногда” тут лишнее. Расхождение в четыре часа присутствует всегда, просто вылазит на пограничных случаях.

      Из исходных данных не ясно, какое же время в итоге считается “правильным”. Приведите (для любого файла)

      1) реальную дату создания
      2) дату, которую даёт вывод ls -l с правильной таймзоной
      3) дату, видимую, если зайти по ftp

      Вот например сегодняшнее число 11.01.2012

      1) выгрузка дампа началась в 02:50 AM, закончилась 05:48 AM
      2) подключаюсь по ssh
      ls -l c правильной таймзоной
      -rw-rw-rw- 1 my_login staff 28444942470 Jan 11 05:48 dump_2012-01-11.dmp
      3) захожу по фтп через Far (без ssh), показывает дату 11.01.12 01:48

      p.s. Вы правы, слово “иногда” тут лишнее, разница в 4 часа всегда, но я так выразился лишь потому, что ошибку заметил лишь тогда, когда дамп был выгружен до 4 утра, и разница во времени перевела дату на вчерашнее число, что и послужило “ложной ошибкой”, скрипт показал что дампа нет, хотя он был 🙂

      Я столкнулся с этим, правда на линуксовой машине как сервер ftp и клиенете на ОС Windows. это проблема отоброжения клиента. Когда заходишь на сам сервер по ссш допустим, то время создания файла отображается корректно, когда с клиента ftp на линуксе, с отключенными опциями локализации вроемени – все хорошо, как толко заходишь с ОС WINDOWS по фтп, так получаешь разницу 4 часа.

      Единственно что приходит на ум, использовать в vbs скрипте ssh-подключение…

    • #14360
      Alex
      Участник

      Единственно что приходит на ум, использовать в vbs скрипте ssh-подключение…

      Ну это вы хватили. Собственно, проблема была б решена куда быстрее, если б исходные данные были полнее 😉

      Сделаю допущение:

      У вас на aix-сервере не штатный ftp-сервер, а proftpd.

      Если это так – всё решается выключением единственного ключа в proftpd.conf: TimesGmt off (по дефолту он включен).

    • #14361
      Dmitriy Sh
      Участник

      [quote]Единственно что приходит на ум, использовать в vbs скрипте ssh-подключение…

      Ну это вы хватили. Собственно, проблема была б решена куда быстрее, если б исходные данные были полнее 😉

      Сделаю допущение:

      У вас на aix-сервере не штатный ftp-сервер, а proftpd.

      Если это так – всё решается выключением единственного ключа в proftpd.conf: TimesGmt off (по дефолту он включен).[/quote]

      На сервере стоит vsftpd, при этом в конфиге vsftpd.conf я не нашел опции
      use_localtime=YES, поэтому он и использует GMT

    • #14362
      Aleksandr
      Участник

      use_localtime
      If enabled, vsftpd will display directory listings with the time in your local time zone. The default is to display GMT. The times returned by the MDTM FTP command are also affected by this option.

      Default: NO

    • #14367
      Alex
      Участник

      я не нашел опции use_localtime=YES, поэтому он и использует GMT

      Ну та же петрушка, в-общем. Поправили?

    • #14372
      Dmitriy Sh
      Участник

      [quote]я не нашел опции use_localtime=YES, поэтому он и использует GMT

      Ну та же петрушка, в-общем. Поправили?[/quote]

      Ага, спасибо 🙂

Просмотр 9 веток ответов
  • Для ответа в этой теме необходимо авторизоваться.