Не позволяйте домашним рабочим станциям использоваться для работы. Нет никакой причины для них, чтобы использоваться тот путь так или иначе.
Не изобретать велосипед. Запишите сообщения в системный журнал с помощью регистратора (1), который поддерживается на примерно каждой разновидности Unix. Системный журнал будет заботиться о метках времени для Вас. Ваши данные логов будут сохранены к системному журналу как /var/log/messages
(Это настраивается). Вы не должны волноваться о чистке файлов журнала позже (особенно, если это прогоны задания навсегда), потому что системные журналы автоматически повернуты на logrotate/newsyslog.
top | grep java | logger -t java_cpuhog
Или, если Вы действительно хотите записать это в свой собственный файл. Но затем необходимо очистить файл впоследствии:
top | grep java | logger -t java_cpuhog -f /var/log/java-top.log
... | awk -f timetag.awk > ...
timetag.awk:
{
print "[" strftime() "] " $0
}
В оболочке: top | grep java | while read LINE ; do date "+%F %T ${LINE}" ; done
Вы могли создать что-то как stamp
содержа
#!/usr/bin/perl -p
s/^/localtime()." "/e;
Затем выполненный
top -b | grep java | stamp > out.log
Не забывайте использовать top -b
если Вы не используете его в интерактивном режиме. Конечно, вершина уже помещает метку времени каждый раз, когда она работает. При необходимой необходимости в дате на каждой строке просто используйте вершину самостоятельно, так как она помещает метку времени на каждое повторение. Я иногда использую это, чтобы заставить 10-секундные образцы в течение целого дня рассмотреть позже:
top -b -d 10 -c -n 8640
logger
записать в системные журналы. Помните обо всех тех других программах Unix, которые работают как другие пользователи - они все еще регистрируются к системному журналу. Многие из них не работают как корень. – Stefan Lasiewski 5 November 2010 в 23:13/var/log/messages
должно быть читаемым большинством пользователей в системе. Для тестирования этого сделатьecho jamestest | logger
, и затем посмотрите или вывод в/var/log/messages
. – Stefan Lasiewski 5 November 2010 в 23:15echo stefantest | logger -f ~/stefantest.log
– Stefan Lasiewski 5 November 2010 в 23:37