Как я регистрирую программы, которые я запускаю и когда (на Ubuntu)?

Я хотел бы, чтобы легкое считало журнал того, когда конкретное приложение было запущено. Журнал должен включать метку времени и записывать меры, которые я принял, например, когда я запустил браузер или запустил игру.

1
задан 28.12.2009, 08:34

4 ответа

Bash записывает историю всех команд, которые Вы выполняете, и у Вас может быть он, записывают метку времени также - см. http://larsmichelsen.com/open-source/bash-timestamp-in-bash-history/ для больше.

Но история удара не бродит вокруг навсегда, и она все еще только записывает вещи, которые Вы выполняете из командной строки.

1
ответ дан 12.12.2019, 13:22

Ваше собственное предложение не плохо вообще. Такой сценарий мог быть чем-то вроде формы

#!/bin/bash

# Get the program you wish to launch from arguments
PROGNAME="$1"
# Shift script arguments to use the remaining ones later
shift

# Check that a PROGNAME was provided
if [ -z "$PROGNAME" ]; then
   echo "Usage: $0 <program> [program options]"
   exit 1
fi

# Log in your home directory, one directory per program
LOGDIR="$HOME/logs/$PROGNAME"

# Create log directory if it doesn't exist yet
if [ ! -d "$LOGDIR" ]; then
   mkdir -p "$LOGDIR"
fi

# Get the date now
DATE=$(date +'%Y%m%d%H%M%S')

# Start program with it's options and log into the logdir
eval "$PROGNAME" $@ >"${LOGDIR}/${PROGNAME}_${DATE}.log" 2>"${LOGDIR}/${PROGNAME}_${DATE}.err"

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

Другая опция состояла бы в том, чтобы использовать sudo, который регистрируется к auth.log автоматически, но используйте его таким способом, которым это не запускает программы как корень, который является:

sudo -u $USER firefox

который запустит Firefox как самостоятельно, с помощью sudo.

Например:

$ sudo -u $USER ksnapshot
# I kill the program
$ tail -1 /var/log/auth.log
   Dec 28 08:20:07 jonah sudo:  raphink : TTY=pts/1 ; PWD=/home/raphink ; USER=raphink ; COMMAND=/usr/bin/ksnapshot
1
ответ дан 12.12.2019, 13:22

Одна возможность состояла бы в том, чтобы записать маленький сценарий удара формы

$ myLogging firefox

это зарегистрировало бы время когда, в этом примере, запущенный Firefox и затем затем запускать Firefox.

Это потребовало бы, однако, чтобы я сделал все свои действия, такие как запущение приложения, из командной строки. Кроме того, что, если я хотел запустить Firefox с некоторых собственных аргументов?

0
ответ дан 12.12.2019, 13:22

Я не знаю, доступно ли 'излишне любопытный' для Ubuntu, но на Debian она регистрирует каждую команду, которую Вы выполнили к /var/log/auth.log.

0
ответ дан 12.12.2019, 13:22

Теги

Похожие вопросы