Je suis en train de (ré) écrire mon windows.tmux
pour mes sessions byobu
fréquemment utilisées. Ci-dessous, mon exigence précise:
Je voudrais avoir un onglet (ou une fenêtre?) Avec une invite racine. (Au départ, il attend le mot de passe Sudo). Je voudrais que le second soit divisé horizontalement. Dans la partie supérieure, je veux surveiller mon /var/log/syslog
et dans la partie inférieure dmesg
. Jusqu'à présent, je suis capable de réaliser les tâches suivantes:
new-session -AD -s 'root' Sudo su - ;
new-window -n log watch -n 1 tail -n 15 /var/log/syslog
split-window watch dmesg | tail -15;
Cependant, le problème (qui est totalement hors de propos pour ce fil) du fait qu'il y a beaucoup d'entrées dans mon syslog
(presque 4/5 lignes par seconde), ce que j'aimerais éviter en surveillant. Je voudrais donc grep -v
sur ces lignes. La combinaison de watch
, tail
et grep
peut être obtenue selon mon besoin (grâce à steeldriver pour sa réponse ici . )
watch -n 1 'tail -n 15 /var/log/syslog | grep -v -E "pattern1|pattern2"'
Ici commence le problème: Si j'inclus la ligne suivante dans mon window.tmux
new-window -n log watch -n 1 'tail -n 15 /var/log/syslog | grep -v -E "pattern1|pattern2"'
Je reçois,
sh: 1: tail -n 15 /var/log/syslog | grep -v -E "pattern1|pattern2": not found
En fait, le problème le plus général est que si j'encapsule la commande entre guillemets (simple '
ou double "
), j'obtiens la même erreur.
La sortie de byobu --version
est:
byobu version 5.116
tmux 2.3
J'utilise GNU bash, version 4.4.7(1)-release
le 17.04.
Merci d'avance - Mike
Je n'ai pas expérimenté avec screen
. Est-ce possible en utilisant screen
?
Dans votre bashrc
créer un alias
alias monitor_log='tail -n 15 /var/log/syslog | grep -v -E "pattern1|pattern1"'
Votre windows.tmux
peut être:
new-session -AD -s 'root' Sudo su - ;
new-window -n log;
split-window watch dmesg | tail -15;
Cela vous donnera un invite-bash dans la deuxième division en haut de la fenêtre et dmesg dans le bas. Et ensuite, donnez votre commande watch
préférée:
watch -n 1 'tail -n 15 /var/log/syslog | grep -v -E "pattern1|pattern2"'
Pas sûr que vous puissiez créer un alias pour cela!
J'espère que cela t'aides.