Назад | Перейти на главную страницу

Узнайте, как долго пользователь находился на сервере Linux

На моем сервере Debian Squeeze все входы и выходы пользователей записываются в файл /var/log/auth.log

Jan 28 07:11:06 xen8 sshd[29826]: pam_unix(sshd:session): session opened for user root by (uid=0)
Jan 28 07:33:47 xen8 sshd[29826]: pam_unix(sshd:session): session closed for user root
Jan 28 09:45:58 xen8 sshd[14374]: pam_unix(sshd:session): session opened for user root by (uid=0)
Jan 28 09:47:36 xen8 sshd[14374]: pam_unix(sshd:session): session closed for user root
Jan 29 07:37:48 xen8 sshd[24940]: pam_unix(sshd:session): session opened for user root by (uid=0)
Jan 29 07:38:11 xen8 sshd[24940]: pam_unix(sshd:session): session closed for user root
Jan 29 08:35:13 xen8 sshd[25707]: pam_unix(sshd:session): session opened for user root by (uid=0)
Jan 29 08:37:06 xen8 sshd[25707]: pam_unix(sshd:session): session closed for user root
Jan 29 16:59:39 xen8 sshd[30725]: pam_unix(sshd:session): session opened for user root by (uid=0)
Jan 29 17:00:58 xen8 sshd[30725]: pam_unix(sshd:session): session closed for user root
Jan 29 17:11:17 xen8 sshd[30832]: pam_unix(sshd:session): session opened for user root by (uid=0)
Jan 29 18:11:37 xen8 sshd[30832]: pam_unix(sshd:session): session closed for user root

С помощью идентификатора процесса можно найти подходящие входы / выходы из системы, а затем можно будет рассчитать время. Но мои навыки работы с sed / awk очень ограничены, и, может быть, есть даже готовый скрипт / инструмент для этой задачи? Есть ли простой способ узнать, сколько раз пользователь входил в систему? Либо в целом (для каждого файла), либо даже с красивой графикой?

В ac Утилита предоставит вам статистику входа пользователя. Например, чтобы увидеть общее количество секунд / минут / часов, которое пользователь с именем user1 был в системе -

  ac -d user1

вывод

 Jan 22  total        4.19
 Jan 23  total        8.01
 Jan 24  total        7.84
 Jan 25  total        6.79
 Jan 28  total        7.37
 Jan 29  total        8.69
 Today   total        7.15

Попробуйте last команда. Это должно показать вам всю информацию, которую вы ищете.

Последний столбец вывода последний команда покажет, что вы хотите

iain     pts/0        host          Mon Jan 28 22:44 - 23:12  (00:27)