Linux Script для получения времени в секундах, когда папка последний раз изменялась - PullRequest
0 голосов
/ 05 апреля 2011

Мне нужен скрипт bash для Linux, чтобы узнать время в секундах, когда была изменена конкретная папка.Может кто-нибудь, пожалуйста, помогите мне?

Мой текущий скрипт ниже получает текущую отметку времени и время последнего изменения папки, но я не знаю, как продолжить.

[root@cgf01 log]# more CheckLastCdr.sh 
#get current timestamp
current_time=`date` 

#get last CDR timestamp
last_cdr_time=`find /tmp/log/ -exec stat \{} --printf="%y\n" \; | sort -n -r | head -1`


echo $current_time
echo $last_cdr_time

, когда я запускаю этот скрипт, яполучить следующее:

[root@cgf01 log]# ./CheckLastCdr.sh 
./CheckLastCdr.sh: line 6: 2011-04-05: command not found
Tue Apr 5 16:19:31 CEST 2011
2011-04-05 16:14:33.000000000 +0200

заранее спасибо

Ответы [ 3 ]

2 голосов
/ 05 апреля 2011

Если вы хотите количество секунд назад:

echo $[$(date +%s)-$(stat --printf "%Y" /tmp/log)]
1 голос
/ 05 апреля 2011

Вам не нужно использовать поиск, чтобы получить эту информацию.Вы можете использовать stat примерно так:

stat --printf=%Y dirname

0 голосов
/ 05 апреля 2011

Изменение:

find /tmp/log/ -exec stat \{} --printf="%y\n"

на:

find /tmp/log/ -exec stat \{} --printf="%T@\n"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...