Проверьте последний использованный файл .sh.

Когда вы запускаете ./myscript.sh , это считается «временем доступа»?

Мне нужно знать, когда последний раз запускался скрипт, но я не уверен, что это считается как mtime , ctime или atime (различия здесь описаны).

  • Почему файловая система EXT4 установлена ​​с использованием как relatime, так и lazytime
  • ls -lu не дает последнего времени доступа
  • Как проверить, что изменяется содержимое файла, а не atime, mtime, ctime в Linux?
  • Может «найти» команду сохранить время доступа
  • Как я могу определить, установлен ли каталог с noatime или nodirtime?
  • Сделать updateb не изменять время доступа
  • Время доступа к файлу не обновляется в ubuntu 12.04
  • Изменение времени изменения файла для доступа к времени в массовом порядке
  • One Solution collect form web for “Проверьте последний использованный файл .sh.”

    Как объясняется в ответе, с которым вы связаны, это зависит от ваших настроек. В принципе, atime будет меняться каждый раз, когда файл будет прочитан, и для запуска скрипта вам нужно его прочитать. Так что да, обычно, atime будет меняться каждый раз, когда скрипт выполняется. Это легко продемонстрировать, проверив текущее atime, запустив скрипт, а затем снова проверив его:

     $ printf '#!/bin/sh\necho "running"\n' > ~/myscript.sh $ stat -c '%n : %x' ~/myscript.sh /home/terdon/myscript.sh : 2016-02-23 10:36:49.349656971 +0200 $ chmod 700 ~/myscript.sh $ stat -c '%n : %x' ~/myscript.sh ## This doesn't change atime /home/terdon/myscript.sh : 2016-02-23 10:36:49.349656971 +0200 $ ~/myscript.sh running $ stat -c '%n : %x' ~/myscript.sh ## Running the script does /home/terdon/myscript.sh : 2016-02-23 10:38:20.954893580 +0200 

    Однако, если сценарий находится на файловой системе, которая смонтирована с параметрами noatime или relatime (или любыми другими возможными параметрами, которые могут повлиять на изменение atime ), поведение будет другим:

      noatime Do not update inode access times on this filesystem (eg, for faster access on the news spool to speed up news servers). This works for all inode types (directories too), so implies nodira‐ time. relatime Update inode access times relative to modify or change time. Access time is only updated if the previous access time was ear‐ lier than the current modify or change time. (Similar to noat‐ ime, but it doesn't break mutt or other applications that need to know if a file has been read since the last time it was modi‐ fied.) Since Linux 2.6.30, the kernel defaults to the behavior provided by this option (unless noatime was specified), and the stricta‐ time option is required to obtain traditional semantics. In addition, since Linux 2.6.30, the file's last access time is always updated if it is more than 1 day old. 

    Вы можете проверить, какие параметры используют ваши смонтированные системы, запустив mount команд без аргументов. Тесты, показанные выше, выполнялись на файловой системе, которая была смонтирована с использованием опции relatime . С помощью этой опции atime обновляется, если i) текущее atime старше текущей модификации или времени изменения или ii) оно не обновляется более одного дня.

    Итак, в системе с relatime atime не изменяется, когда к файлу обращаются, если текущее atime является новым, чем текущее время модификации:

     $ touch -ad "+2 days" file $ stat --printf 'mtime: %y\natime: %x\n' file mtime: 2016-02-23 11:01:53.312350725 +0200 atime: 2016-02-25 11:01:53.317432842 +0200 $ cat file $ stat --printf 'mtime: %y\natime: %x\n' file mtime: 2016-02-23 11:01:53.312350725 +0200 atime: 2016-02-25 11:01:53.317432842 +0200 

    atime всегда изменяется при доступе, если это больше, чем один день. Даже если время модификации больше:

     $ touch -ad "-2 days" file $ touch -md "-4 days" file $ stat --printf 'mtime: %y\natime: %x\n' file mtime: 2016-02-19 11:03:59.891993606 +0200 atime: 2016-02-21 11:03:37.259807129 +0200 $ cat file $ stat --printf 'mtime: %y\natime: %x\n' file mtime: 2016-02-19 11:03:59.891993606 +0200 atime: 2016-02-23 11:05:17.783535537 +0200 

    Таким образом, в большинстве современных Linux-систем atime будет обновляться только каждый день или около того, если файл не был изменен с момента последнего обращения к нему.

    Interesting Posts

    aptitude производит выход дважды

    Можно ли добавить процесс в список заданий в bash (например, чтобы отменить «отключение»)?

    Как узнать путь к определенному файлу в zip-архиве, не извлекая его?

    Как обновить Redhat от 5.5 до 5.6

    Как я могу mcast несколько файлов pcap одновременно с гарантированным порядком и контролируемой скоростью?

    Можете ли вы использовать команды blacklist через SSH?

    Переадресовать цикл с Nginx в качестве обратного прокси и Yii

    Автоматически переименовывать файл, если есть дублирующееся имя файла

    Как сравнить две даты без использования Stat?

    Как я могу программно определить, соответствует ли имя файла шаблону оболочки?

    Не удалось подключить root fs через NFS

    Сделать sendmail электронной почтой на SYSERR-ошибках

    Процедура определения местоположения среды U-Boot из двоичного / шестнадцатеричного дампа

    Где Cygwin NFS Server?

    входящее ACCEPT все правило iptables все еще появляется

    Linux и Unix - лучшая ОС в мире.