последняя -t команда HELP - PullRequest
0 голосов
/ 30 марта 2011

Я хочу использовать 'last -t', а затем передать ему текущую дату / время в формате ГГГГММДДЧЧММСС, как того требует.единственный способ узнать текущую дату / время - через «дату», но он передает ее в неправильном формате, чем необходимо.

также last-t использует временные рамки, чтобы показать, кто вошел в систему.с какого времени, как бы я вычитал 1 минуту из текущего времени, когда я получаю его в нужном формате.

и, наконец, есть ли команда, которая показывает, кто также вышел из системы?

Ответы [ 2 ]

0 голосов
/ 20 февраля 2012
1       NOW=`date`
2       MINAGO=$((-1 + `date -d "$NOW" "+%Y%m%d%H:%M:%S" | cut -d: -f2 `))
3       MINAGO=`printf "%02i" $MINAGO`
4       MINAGO=`date -d "$NOW" "+%Y%m%d%H:%M:%S"| sed s/:.*:/$MINAGO/`       
5       last -t $MINAGO
  1. сохранить время в СЕЙЧАС
  2. напечатать СЕЙЧАС как ГГГГММДДЧЧ: ММ: SS и извлечь ММ, добавить -1, сохранить в пэд MINAGO
  3. с нулями до длины2 (последний -t запрашивает 08 мин, а не 8), сохраните в MINAGO
  4. время печати от NOW и замените минутную часть на MINAGO, сохраните в MINAGO
  5. , вызовите последним с YYYYMMDDHHMMSS

Вам нужно будет более конкретно указать, что вы имеете в виду, показывая тем, кто вышел из системы, потому что последний показывает вам, кто вышел из системы и когда они это сделали.Если они еще не вошли в систему, они отсутствуют.Что еще нужно знать?В любом случае, можно найти реальные учетные записи в / etc / shadow и удалить из этого списка пользователей, которые все еще вошли в систему. Например:

getent shadow |sort -t: -k2,2 | awk -F: '($2 !="*") && ($2 !="!") { print $1 }'

имейте в виду, что только root может читать / etc / shadow


поцарапайте выше;

last -t $( 
          date -d @$(( -60 + `date +%s` )) +%Y%m%d%H%M%S
          )
| grep still

например

$ last -t $( date -d @$(( -60 + `date +%s` )) +%Y%m%d%H%M%S) | grep still
*    pts/4    *  Sat Sep  7 02:20   still logged in
*    pts/44   *  Fri Sep  6 19:08   still logged in
*    pts/8    *  Fri Sep  6 11:26   still logged in
*    pts/32   *  Fri Sep  6 09:37   still logged in
*    pts/60   *  Wed Sep  4 08:06   still logged in
*    pts/34   *  Tue Sep  3 23:26   still logged in
*    pts/5    *  Tue Sep  3 12:38   still logged in
*    pts/37   *  Mon Sep  2 10:59   still logged in
*    pts/46   *  Sun Sep  1 21:29   still logged in
0 голосов
/ 30 марта 2011

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

Для вычитания 1 минуты лично я бы использовал Python и модуль datetime, с ним легко выполнять вычисления времени.

Не знаю, как выйти из системы.

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