Вывод даты последнего изменения в другой файл?

Процессы обычно не сохраняют файлы открытыми в журналах долгое время.

Да, можно переместиться / удаляют любой каталог или файл, который используется любым процессом в любое время. Heck, можно удалить исполняемый файл процесса, в то время как он работает, и он продолжит работать.

Однако подготовьтесь к некоторым возможным сценариям:

  • когда процессы вновь откроются для записи файлов журнала, они воссоздадут их.
  • процессы продолжат писать в старое местоположение не новое
  • при удалении исполняемого файла процесса Вы не сможете запустить его снова

Файлы будут физически очищены на, удаляют, когда никакой процесс не будет использовать их дескрипторы. Вы будете видеть файлы, перемещенные / удаленный сразу.

1
31.01.2013, 22:11
1 ответ

Оба date -r и этот аромат stat конкретный GNU. Возможно, Вам сказал их пользователь Linux, и Вы используете другую систему.

К сожалению, нет никакой стандартной команды для получения той информации надежно. Самое портативное, которое Вы могли получить, будет:

modDate=$(perl -MPOSIX -le '@s=stat shift or die$!;
  print strftime "%Y-%m-%d", localtime $s[9]' -- "$1") || exit

zsh имеет его собственное встроенное stat команда:

zmodload zsh/stat
zstat -F %F +mtime -- "$1"

(те две команды выше, для символьных ссылок, возвратили бы время изменения цели символьной ссылки как GNU date -r был бы, если Вы хотите время символьной ссылки (как в Вас GNU stat команда), изменение stat кому: lstat в perl решение, или добавляют -L кому: zstat).

Кроме того, Вы забыли двойные кавычки вокруг своих переменных, и Вы не должны использовать echo для произвольных данных.

3
27.01.2020, 23:29
  • 1
    я соглашаюсь, в FreeBSD, stat -x равный с stat в linux. –  PersianGulf 31.01.2013, 09:09

Теги

Похожие вопросы