Существует ли максимальный размер в файл истории удара?

Из руководства:

-O ctl_cmd
Управляйте активным соединением, мультиплексирующим основной процесс. Когда -O опция указана, ctl_cmd аргумент интерпретируется и передается основному процессу. Допустимые команды: check (проверьте, что основной процесс работает), forward (запросите передачи без выполнения команды), cancel (отмените передачи), exit (запросите ведущее устройство выйти), и stop (запросите ведущее устройство прекратить принимать далее мультиплексирующие запросы).

Более старые версии только имеют check и exit, но это достаточно для Вашей цели.

ssh -O check host.example.com

Если Вы хотите удалить все соединения (не только соединение с конкретным хостом) одним махом, то fuser /tmp/ssh_mux_* или lsof /tmp/ssh_mux_* перечислит ssh клиенты, которые управляют каждым сокетом. Использовать fuser -HUP -k tmp/ssh_mux_* уничтожить их всех чисто (использующий SIGHUP, поскольку сигнал является лучшим, поскольку он позволяет клиентам правильно удалить свой сокет).

18
19.09.2011, 00:16
3 ответа

Вместо того, чтобы указать числа, можно сделать

unset HISTSIZE 
unset HISTFILESIZE
shopt -s histappend

в этом случае только Ваш размер диска (и Ваш "самый большой файл ограничивают", если Ваша ОС или FS имеют один) является пределом.

Однако знайте, что это в конечном счете замедлит удар все больше. см. этот документ BashFAQ, и статья debian-администрирования (исходная ссылка умерла, посмотрите в зеркале: archive.is и archive.org) для методов, которые масштабируются лучше.

16
27.01.2020, 19:46
  • 1
    Вам, вероятно, также придется увеличиться history-size в Вашем inputrc. –  Chris Down 19.09.2011, 00:07
  • 2
    Предупреждение: Как отмеченное [unix.stackexchange.com/a/76129/78713] (ниже), это может заставить Bash наследовать значения по умолчанию и, если Ваше существующее .bash_history больше, чем те, для усечения его. –  Chris Povirk 03.11.2017, 13:41

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

8
27.01.2020, 19:46
  • 1
    Похож на самый устойчивый подход ко мне, начиная с удаления пределов размера, на длительном периоде, будет иметь влияние производительности. В то время как я не sur, я достигну treshold в ближайшее время, я боюсь, что он занял бы время, чтобы начать замечать такое влияние. Btw, рассмотрите добавление конфигурации, которую Вы устанавливаете, и дополнительная команда выхода из системы удара для добавления. –  Balmipour 27.02.2017, 18:34
  • 2
    Ссылка снижается. Возможно, отредактируйте для указания на другую ссылку с той же намеченной информацией? –  Dr Beco 15.04.2017, 03:23

@Philomath, сбрасывая их среда Вар не работает на меня вообще! Для меня это заставляет удар использовать свои встроенные значения по умолчанию (это кажется) усечения .bash_history приблизительно к 9 кибибитам.

То, что действительно работает на меня, следующее в моем .bashrc:

export HISTSIZE=
export HISTFILESIZE=
shopt -s histappend
7
27.01.2020, 19:46

Теги

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