Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Изменить конфигурационные файлы. ( ~/work.log)  (Прочитано 2000 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Morisson

  • Гость
Re: Изменить конфигурационные файлы. ( ~/work.log)
« Ответ #15 : 11 Апреля 2017, 00:39:38 »
%h %d %H:%M:%S "
Формат, как в задании должен быть

Пользователь добавил сообщение 11 Апреля 2017, 00:54:59:
это на Linux.org.ru в раздел job
))
На ЛОР- это жестоко))
« Последнее редактирование: 11 Апреля 2017, 00:54:59 от Morisson »

Punko

  • Гость
Re: Изменить конфигурационные файлы. (~/work.log)
« Ответ #16 : 11 Апреля 2017, 09:56:18 »
Morisson, А я бы просто обнулял историю при окончании сессии.
Но у тебя решение интересное - правильно и изящное, я б так не смог :)
Даты и времени нет

Выше ответили за формат.
« Последнее редактирование: 11 Апреля 2017, 10:16:34 от Punko »

Morisson

  • Гость
Re: Изменить конфигурационные файлы. ( ~/work.log)
« Ответ #17 : 11 Апреля 2017, 10:13:08 »
Punko, у него по заданию это все в bashrc нужно сделать))
Препод жжет :D

Punko

  • Гость
Re: Изменить конфигурационные файлы. ( ~/work.log)
« Ответ #18 : 11 Апреля 2017, 10:16:13 »
Morisson, так это и отлично!
Я тут вчитался
$HISTTIMEFORMATпеременная башевская, оказывается. прикольно. Потру своё сообщение о date, дабы не путать.

Morisson

  • Гость
Re: Изменить конфигурационные файлы. ( ~/work.log)
« Ответ #19 : 11 Апреля 2017, 10:31:00 »
переменная башевская, оказывается. прикольно.
Только у него в выводе формат хитрый должен быть. И надо не список команд, а кол-во. И дату начала и конца сеанса.
Могу тебе свой bashrc скинуть, там много интересного))
Например, на скрине, приглашение прикольное), + если ты на git или под рутом- приглашение меняет вид, плюс при команде cd автоматически выводится содержимое каталога


Пользователь добавил сообщение 11 Апреля 2017, 10:31:44:
zsh- еще интересней и продвинутей, но мне лень настраивать))

Оффлайн Ascendary

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Изменить конфигурационные файлы. ( ~/work.log)
« Ответ #20 : 11 Апреля 2017, 18:39:48 »
Вот что у меня получилось в итоге:

date '+%d.%m.%Y(%H:%M:%S)' > work.log - записывает текущую дату в файл work.log
wc -l ~/.bash_history > work.log - записывает количество всех операций.

Дата это не правильно, так как надо дата и время входа в терминал и выход из него.
Нашёл команду last которая показывает когда зашли в терминал и когда вышли из терминала, но как оттуда взять эту дату не понимаю.

Morisson

  • Гость
Re: Изменить конфигурационные файлы. ( ~/work.log)
« Ответ #21 : 11 Апреля 2017, 18:50:24 »
время входа
время первой команды в сессии
выход из него.
время последней
Попозже отпишусь.
"Помощь зала" спрошу))

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Изменить конфигурационные файлы. (~/work.log)
« Ответ #22 : 12 Апреля 2017, 10:37:21 »
При запуске(входе) выполняется profile(bash_login, bashrc) - написать туда запись времени в файл work.log.
По выходу выполняется bash_logout — подсчет команд и запись времени выхода. Подсчет можно делать через обнуление history на старте, а можно просто отобрать по времени входа и до конца.
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Ascendary

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Изменить конфигурационные файлы. (~/work.log)
« Ответ #23 : 16 Апреля 2017, 17:39:27 »
При запуске(входе) выполняется profile(bash_login, bashrc) - написать туда запись времени в файл work.log.
По выходу выполняется bash_logout — подсчет команд и запись времени выхода. Подсчет можно делать через обнуление history на старте, а можно просто отобрать по времени входа и до конца.
Вообщем, чистить историю каждый раз я научился. (history -cw) написал это в .bashrc и теперь при каждом заходе в терминал он чистит историю.
Также теперь в файл записывает дату и время, когда зашёл в терминал.
(date +%d.%m.%Y\ %H:%M:%S | tr -d '\012'; echo \ ' '; cat /proc/mounts | grep $ grep sdd | grep rw) >> ~/work.logТакже когда вводишь команду history, то выводит дату и время около каждой команды.
export HISTTIMEFORMAT="%d.%m.%Y(%H:%M:%S) "
Теперь такие вопросы:
1. Как узнать дату(время) последней команды(время выхода из терминала)? Пробовал в файл bash_logout что то написать, но он не работает, даже echo не выводит.
2. Подсчитать команды за сессию, проблема с bash_logout
« Последнее редактирование: 16 Апреля 2017, 17:41:44 от Ascendary »

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Изменить конфигурационные файлы. (~/work.log)
« Ответ #24 : 16 Апреля 2017, 21:40:19 »
даже echo не выводит.
Куда не выводит?
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Ascendary

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Изменить конфигурационные файлы. (~/work.log)
« Ответ #25 : 16 Апреля 2017, 22:25:29 »
даже echo не выводит.
Куда не выводит?
На экран.
Я ввожу в файл bash_logout
sleep 5s
echo "Hello, World"
и вроде как при закрытии терминала должно выводиться Hello World, но ничего не выводиться

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Изменить конфигурационные файлы. ( ~/work.log)
« Ответ #26 : 16 Апреля 2017, 22:29:47 »
На экран
Это была ирония. Какой «экран» если идет закрытие? Если хотит проверить сделайте echo в файл.
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Ascendary

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Изменить конфигурационные файлы. ( ~/work.log)
« Ответ #27 : 16 Апреля 2017, 23:44:22 »
На экран
Это была ирония. Какой «экран» если идет закрытие? Если хотит проверить сделайте echo в файл.
Пишу в файле bash_logout
echo "Hello World" >> ~/work.logвсё равно ничего, даже файл не создаёт

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Изменить конфигурационные файлы. (~/work.log)
« Ответ #28 : 17 Апреля 2017, 12:32:50 »
всё равно ничего
Вы правы. Действительно bash_logout отрабатывает только при закрытие консолей логин-шелла, например тех, что вызываются по Ctrl+Alt+F1…6.
Тогда можно воспользоваться настройками LightDM добавив в файл /etc/lightdm/lightdm.conf параметр session-cleanup-script=/path/to/script с путем до Вашего скрипта_по_выходу.
Ну или воспользоваться стандартными init.d-скриптами или сервисами systemd (ссылка)
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

 

Страница сгенерирована за 0.041 секунд. Запросов: 24.