The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Как хранить дату выполнения в истор..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Как хранить дату выполнения в истор..."  
Сообщение от auto_tips on 21-Дек-07, 17:48 
По умолчанию bash, а точнее утилита history, не сохраняет в .bash_history
время исполнения каждой команды.

Почитал маны и оказалось, что в баше трейтье версии сделать это можно и весьма просто.
Если объявить глобальную переменную HISTTIMEFORMAT с форматом выводимых данных,
то утилита history будет сохранять и выводить эту дату.

Итак, пишем в ~/.bashrc строчку

   export HISTTIMEFORMAT=’%h %d %H:%M:%S ’

После этого в .bash_history перед каждой командой появится коментарий
с цифрой - временем выполнения этой команды в формате timestamp:

   #1198068550
   history
   #1198139874
   ьс
   #1198139876
   mc
   #1198148168
   ssh teletrade.ru
   #1198148217
   ssh teletrade.ru

А команда history будет выдавать историю данных с датой в формате,
который мы переменной задали (в похожем формате выдают дату и время утилита ls):

   995  Дек 19 15:49:10 history
   996  Дек 20 11:37:54 ьс
   997  Дек 20 11:37:56 mc
   998  Дек 20 13:55:49 ssh teletrade.ru

Но можно сделать и по ГОСТУ, в приятном русскому глазу виде "ДД.ММ.ГГГГ"

   export HISTTIMEFORMAT=’%d.%m.%Y %H:%M:%S ’

А можно и на американский манер "YYYY-MM-DD"

   export HISTTIMEFORMAT=’%Y-%m-%d %H:%M:%S ’

URL: http://tigro.info/blog/index.php?id=422
Обсуждается: http://www.opennet.me/tips/info/1539.shtml

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "Как хранить дату выполнения в истории команд bash"  
Сообщение от samuchif on 21-Дек-07, 17:48 
> на американский манер "YYYY-MM-DD"

или "на японский", или "MM-DD-YYYY" :)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Как хранить дату выполнения в истории команд bash"  
Сообщение от дима (??) on 22-Дек-07, 00:41 
спасибо,
полезно
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Как хранить дату выполнения в истории команд bash"  
Сообщение от FreeBSD user on 22-Дек-07, 01:28 
а чем tcsh не подходит? для этого никаких лишних движений делать не надо
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Как хранить дату выполнения в истории команд bash"  
Сообщение от Wildchild email on 22-Дек-07, 02:26 
’ замените на одинарную кавычку!
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Как хранить дату выполнения в истории команд bash"  
Сообщение от xguru on 23-Дек-07, 15:10 
Еще посмотрите на lilalo
http://xgu.ru/wiki/lilalo

оно запоминает не только дату но и множество другой информации

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Как хранить дату выполнения в истории команд bash"  
Сообщение от PAVLINUX email on 23-Дек-07, 23:53 
А можно в ядре сказать  CONFIG_INPUT_EVBUG=y
и до усрачики рыть логи нажатий... (для разбора, парсер написать любой школьник сможет)...
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "Как хранить дату выполнения в истории команд bash"  
Сообщение от Аноним on 24-Дек-07, 06:28 
А tcsh таки научился делать такое: some-command >log 2>err-log ???

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "Как хранить дату выполнения в истории команд bash"  
Сообщение от FreeBSD User on 25-Дек-07, 19:47 
>А tcsh таки научился делать такое: some-command >log 2>err-log ???

Если исходить из темы, то вот это, по-моему, вполне схойдет за решение
set history = 100
set savehist = 100

и в $HOME будет лежать файлик .history c записями вида

#+1197969179
clean
#+1197969180
l
#+1197969194
chmod 644 *.h

Это не то, что требовалось?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "Как хранить дату выполнения в истории команд bash"  
Сообщение от FreeBSD User on 25-Дек-07, 19:54 
Если исходить из темы, то вот это, по-моему, вполне схойдет за решение
set history = 100
set savehist = 100

и в $HOME будет лежать файлик .history c записями вида

#+1197969179
clean
#+1197969180
l
#+1197969194
chmod 644 *.h

Это не то, что требовалось?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

10. "Как хранить дату выполнения в истории команд bash"  
Сообщение от Wildchild email on 25-Дек-07, 20:05 
начинается очередной писькомер =(
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

11. "Как хранить дату выполнения в истории команд bash"  
Сообщение от pavlinux email(??) on 28-Дек-07, 02:15 
Неа, не это требовалось....


#+1197969194
chmod 644 *.h

ИЛИ

998  Дек 20 13:55:49 ssh teletrade.ru


Угадай, как понятней???  
Для доказательства удобности второго, приставим фильтр:

cat /home/vasya_pupkin/.history | grep su

На выходе будут все даты попыток запуска утильки su  

Во втором случае, самое быстрое это через egep + sed определить чтоб одна строка начиналась на #+ и следующая за ней уже на то что мы ищем, например su

И наконец, UNIX-тime это для скриптов, а не для людей.


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

12. "Как хранить дату выполнения в истории команд bash"  
Сообщение от Oleg (??) on 28-Дек-07, 13:52 
>Неа, не это требовалось....

Так допиши код в bash - в чем проблема?

>[оверквотинг удален]
>
>На выходе будут все даты попыток запуска утильки su
>
>Во втором случае, самое быстрое это через egep + sed определить чтоб
>одна строка начиналась на #+ и следующая за ней уже на
>то что мы ищем, например su
>
>И наконец, UNIX-тime это для скриптов, а не для людей.
>
>

а написать в три строки perl-скриптик трансляции unix-time to human-read. и наоборот - уже в лом? :)
написание оставляю в качестве домашнего задания :)
кстати, в общем случае сортировать и искать удобнее именно по unix-time. IMHO.


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

13. "ранить дату"  
Сообщение от Andrey Mitrofanov on 29-Дек-07, 11:44 
>а написать в три строки perl-скриптик трансляции unix-time to human-read. и наоборот
>- уже в лом? :)

Да! %*)

$ date +"%Y-%m-%d %H:%M:%S" -d "@1198139874"
2007-12-20 11:37:54
abm@abm:~$ date +"%s" -d "now"
1198917759
$ _

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

14. "Как хранить дату выполнения в истории команд bash"  
Сообщение от stimpack on 30-Дек-07, 19:51 
zsh% history -f
1250  12/30/2007 22:17  ../..
1251  12/30/2007 22:17  cryptmount -u vol06
1252  12/30/2007 22:17  uname -r
1253  12/30/2007 22:17  lll
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

15. "Как хранить дату выполнения в истории команд bash"  
Сообщение от none (??) on 06-Янв-08, 12:40 
export HISTTIMEFORMAT='%h %d %H:%M:%S ' так правильно!
Исправьте совет и не вводите читателей в заблуждение!
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру