Обычно вы сами не очищаете журнал. Это управляется самим systemd, а старые журналы выворачиваются по мере поступления новых данных. Правильным было бы запланировать ведение журнала так, чтобы в нем хранилось только столько данных, сколько вас интересует. Самое обычное, что можно настроить - это общее дисковое пространство, которое он может занять. Как только он пересекает эту границу, он начинает подставлять старые записи, чтобы они оставались рядом с этим значением.
Вы можете установить это в /etc/systemd/journald.conf
так:
SystemMaxUse=100M
Примерно так:
# Install git on demand
function git()
{
if ! type -f git &> /dev/null; then sudo $APT install git; fi
command git "$@";
}
Встроенная команда
подавляет поиск функции. Я также изменил ваш $ *
на «$ @»
, потому что он будет правильно обрабатывать аргументы, которые не состоят из одного слова (например, имена файлов с пробелами).
Кроме того, я добавил аргумент -f
к типу
, потому что в противном случае он заметит функцию.
Вы можете подумать, что делать в случае ошибки (например, при сбое apt-get install
).
Или, возможно, более общая функция, способная запускать любую команду. В этом случае "-f" можно заменить на "-t". Столкновения с функцией не произойдет.
function runcmd()
{
if ! type -t $1 >/dev/null; then
pkg=$(apt-file search -x "bin.*$1\$" | cut -d: -f1)
sudo apt-get install $pkg
fi
eval "$@"
}
Конечно, необходимо обрабатывать ошибки «apt-get install».