Portál AbcLinuxu, 8. května 2024 12:46


Dotaz: byobu backup/restore

k3dAR avatar 15.3.2019 18:35 k3dAR | skóre: 62
byobu backup/restore
Přečteno: 474×
Odpovědět | Admin
pred casem sem zkousel nejake na netu nalezene 3rd postupy/skripty, ale nefungovaly(bud se ani nic neulozilo, nebo neslo obnovit), zkusim se tedy zeptat zda to nema nekdo v praxi overene/pouzivane...
1.jde mi o to ze na serveru pouzivam byobu, mam ~10 oken a kazde rozdelene na 4casti, jde zalohovat tohle rozlozeni, aby pri rebootu sem nemusel znovu vse otevrirat/rozdelovat/pojmenovavat?
2.idealne pokud by slo zalohovat/obnovit v kazdem okne/subokne prislusne $PWD
3.a nejidealnejs, aby i prislusnej proces, v pripade "mc" i prislusnej left/right $DIR :-)
porad nemam telo, ale uz mam hlavu... nobody
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

k3dAR avatar 16.3.2019 02:12 k3dAR | skóre: 62
Rozbalit Rozbalit vše Re: byobu backup/restore
Odpovědět | | Sbalit | Link | Blokovat | Admin
tak tentokrat se mi uz zadarilo https://github.com/tmux-plugins/tmux-resurrect nad https://github.com/tmux-plugins/tpm s byobu funguje a out-of-box splnuje pozadavky 1 a 2 :-)
pro pripadne zajemce prikladam skript, lze pustit z beziciho byobu a po dokonceni rovnou ulozit stavajici session :-)
#!/bin/sh

# stazeni "Tmux Plugin Manager"
git clone https://github.com/tmux-plugins/tpm ~/.byobu/tmux-plugins/tpm

# stazeni "tmux-resurrect"
git clone https://github.com/tmux-plugins/tmux-resurrect ~/.byobu/tmux-plugins/tmux-resurrect

# nastaveni
echo "set-environment -g TMUX_PLUGIN_MANAGER_PATH '~/.byobu/tmux-plugins'" >>~/.byobu/.tmux.conf
echo "set -g @tpm_plugins 'tmux-plugins/tpm'" >> ~/.byobu/.tmux.conf
echo "set -g @tpm_plugins 'tmux-plugins/tmux-resurrect'" >> ~/.byobu/.tmux.conf
echo "set -g @resurrect-dir '~/.byobu/tmux-resurrect.sessions'" >> ~/.byobu/.tmux.conf
echo "run '~/.byobu/tmux-plugins/tpm/tpm'" >> ~/.byobu/.tmux.conf

# nacteni pridaneho nastaveni pokud uz byobu bezi
tmux source ~/.byobu/.tmux.conf

# zobrazeni informaci o hotkeys
echo "Hotkeys pro sezeni (pri prvnim pouziti CTRL+A vyberte rezim 1-Screen):"
echo "Pro ulozeni: CTRL+A CTRL+S"
echo "Pro obnoveni: CTRL+A CTRL+R"
porad nemam telo, ale uz mam hlavu... nobody
k3dAR avatar 16.3.2019 02:16 k3dAR | skóre: 62
Rozbalit Rozbalit vše Re: byobu backup/restore
pridanim https://github.com/tmux-plugins/tmux-continuum do ~/.byobu/tmux-plugins a "set -g @tpm_plugins 'tmux-plugins/tmux-continuum" by se melo automaticky v intervalu ukladat a po znovu pusteni byobu po restartu/zabiti samo nacist (nezkousel sem (asi nepotrebuju(ale pro pripadneho zajemce uvadim :-)))
porad nemam telo, ale uz mam hlavu... nobody
k3dAR avatar 16.3.2019 02:48 k3dAR | skóre: 62
Rozbalit Rozbalit vše Re: byobu backup/restore
OPRAVA SKRIPTU:
#!/bin/sh
 
# stazeni "Tmux Plugin Manager"
git clone https://github.com/tmux-plugins/tpm ~/.byobu/tmux-plugins/tpm
 
# stazeni "tmux-resurrect"
git clone https://github.com/tmux-plugins/tmux-resurrect ~/.byobu/tmux-plugins/tmux-resurrect
 
# nastaveni
echo "set-environment -g TMUX_PLUGIN_MANAGER_PATH '~/.byobu/tmux-plugins'" >>~/.byobu/.tmux.conf
echo "set -g @tpm_plugins 'tmux-plugins/tpm tmux-plugins/tmux-resurrect'" >> ~/.byobu/.tmux.conf
echo "set -g @resurrect-dir '~/.byobu/tmux-resurrect.sessions'" >> ~/.byobu/.tmux.conf
echo "run '~/.byobu/tmux-plugins/tpm/tpm'" >> ~/.byobu/.tmux.conf
 
# nacteni pridaneho nastaveni pokud uz byobu bezi
tmux source ~/.byobu/.tmux.conf
 
# zobrazeni informaci o hotkeys
echo "Hotkeys pro sezeni (pri prvnim pouziti CTRL+A vyberte rezim 1-Screen):"
echo "Pro ulozeni: CTRL+A CTRL+S"
echo "Pro obnoveni: CTRL+A CTRL+R"
misto do ~/.byobu/.tmux.conf vkladani radku:
set -g @tpm_plugins 'tmux-plugins/tpm'
set -g @tpm_plugins 'tmux-plugins/tmux-resurrect'
vlozeni:
set -g @tpm_plugins 'tmux-plugins/tpm tmux-plugins/tmux-resurrect'
na funkci to nemelo vliv, ale neni nastaveni na samostatnych radkach(coz bylo popisovano v README u tpm(i kdyz tam bylo @plugin coz v byobu nefungovalo ale @tpm_plugins ano)) ale na jednom radku, lze pomoci hotkey "CTRL+A SHIFT+U" vyvolat aktualizace pluginu kdy se aktualizujou z githubu... (puvodne (s oddelene radky) by to nenabizelo aktualizaci tpm, resp. asi vzdy jen posledni v pripade vice pluginu)
porad nemam telo, ale uz mam hlavu... nobody
k3dAR avatar 16.3.2019 03:48 k3dAR | skóre: 62
Rozbalit Rozbalit vše Re: byobu backup/restore
pridat do ~/.byobu/.tmux.conf :
# pro ulozeni/obnoveni screen/buffer historie kazdeho okna/subokna zvlast
# info: https://github.com/tmux-plugins/tmux-resurrect/blob/master/docs/restoring_pane_contents.md
set -g @resurrect-capture-pane-contents 'on'

# pro ulozeni/obnoveni shell/bash historie (zadanych prikazu) kazdeho okna/subokna zvlast
# info: https://github.com/tmux-plugins/tmux-resurrect/blob/master/docs/restoring_shell_history.md
# (osobne misto toho zustanu u "PROMPT_COMMAND="history -a; $PROMPT_COMMAND" v .bashrc kdy se historie uklada globalne pri kazdem pustenem(resp. po jeho ukonceni) prikazu)
set -g @resurrect-save-shell-history 'on'

a tresnicka :-)

# pro znovupusteni pri obnive bezicich programu
# info: https://github.com/tmux-plugins/tmux-resurrect/blob/master/docs/restoring_programs.md
set -g @resurrect-processes 'mc htop atd'
takze castecne vyresen i pozadavek 3. akorat ze takto znovupustene mc si pamatuje pouze dir kterej byl ve vybranem (left/right) panelu ale uz ne dir neavybraneho panelu... alternativne lze vyuzit "resurrect-capture-pane-contents" pri nepouziti resurrect-processes, pak se "obnovi" mc s puvodnima panelama/edit/show souborem, ale jde POUZE o obnovenej text bez realne beziciho programu mc, nicmene lze z toho poznat v jakejch adresari bylo, pripadne jake soubory se upravovali, takze ocima zapamatovat, pustit mc a prejit rucne :-)
porad nemam telo, ale uz mam hlavu... nobody
k3dAR avatar 16.3.2019 03:56 k3dAR | skóre: 62
Rozbalit Rozbalit vše Re: byobu backup/restore
btw: pri pridavani tohoto nastaveni, vkladat PRED/NAD "run '~/.byobu/tmux-plugins/tpm/tpm'"
porad nemam telo, ale uz mam hlavu... nobody
k3dAR avatar 16.3.2019 21:12 k3dAR | skóre: 62
Rozbalit Rozbalit vše Re: byobu backup/restore
pri pridani v ~/.byobu/.tmux.conf mcedit a mcview:
set -g @resurrect-processes 'mc mcedit mcview
obnovi i mcview mcedit vcetne zobrazeneho/editovaneho souboru, ALE pouze pokud se z shell pusti "mcedit soubor", pokud z beziciho mc se da F3/F4 nebo se z beziciho mc pusti "mcedit soubor" tak se obnovi pouze to mc (ani v ulozenem session souboru neni videt mcedit, ale pouze mc)
porad nemam telo, ale uz mam hlavu... nobody
k3dAR avatar 16.3.2019 22:58 k3dAR | skóre: 62
Rozbalit Rozbalit vše Re: byobu backup/restore
pri pridani v ~/.byobu/.tmux.conf mcedit a mcview:
set -g @resurrect-processes 'sudo mc mcedit mcview tail'
se obnovi i mc puvodne pustene pres "sudo mc", resp. i dalsi (vychozi nebo v resurrect-processes definovane procesy)
pridanej tail overen ze se tak obnovuje ok vcetne "sudo tail -f /cesta/soubor"

pokud by nekdo chtel "hardcore" nastaveni (nedoporucovane tvurcem, ale samozrejme jde o to co vse kdo v byobu pousti), lze povolit vse:
set -g @resurrect-processes ':all:'
pripadne zakazat obnoveni i vychozich povolene (= ktere se obnovuji i bez uzivatelskeho nastaveni, protoze seznam je uveden v kodu "tmux-resurrect"
set -g @resurrect-processes 'false'
porad nemam telo, ale uz mam hlavu... nobody
k3dAR avatar 17.3.2019 01:13 k3dAR | skóre: 62
Rozbalit Rozbalit vše Re: byobu backup/restore
bohuzel sem si ted vsiml ze "sudo mc" se obnovi bez puvodniho pwd aktivniho panelu, problem je uz pri ulozeni stavu kdy v session ma pamatovan adresar v kterem byl uzivatel nez pustil "sudo mc" (zatimco kdyz se uklada bezici mc uzivatele, tak se s nim ulozi spravne prave cesta aktivniho panelu... mozna by to slo opravit pridanim ci upravou stavajiciho skriptu v "~/.byobu/tmux-plugins/tmux-resurrect/save_command_strategies/"
porad nemam telo, ale uz mam hlavu... nobody
k3dAR avatar 21.3.2019 10:31 k3dAR | skóre: 62
Rozbalit Rozbalit vše Re: byobu backup/restore
po par dni z praxe, zjistuju ze se to da pouzivat, vetsinu "sudo mc" mam do adresaru ktere pak nemenim, takze proste nez ho pustim, pres "$ cd /adresar" vlezu do adresare, pak pustim "sudo mc" a takto nasledne obnovena session pousti "sudo mc" v tom adresari (v aktivnim panelu) co chci, pokud by me zajimal i druhej panel, nebo zda sem editoval nejaky soubor, tak muzu vypnout mc a vidim "mrtvej screen" (diky: set -g @resurrect-capture-pane-contents 'on') puvodne beziciho mc/mcedit/mcview a vim co a jak bylo a v pripade potreby si prepnu/otevru rucne...
pokud by nekdo preci jen mel vyresene ukladani i neaktivniho panelu a/nebo pamatovani posledniho (aktivniho) panelu, nikoliv toho z ktereho se "sudo mc" pousti, uvitam info :-)
porad nemam telo, ale uz mam hlavu... nobody
16.3.2019 07:41 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: byobu backup/restore
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nechceš to dať potom do blogu?
k3dAR avatar 16.3.2019 21:17 k3dAR | skóre: 62
Rozbalit Rozbalit vše Re: byobu backup/restore
uvidime, zda se ze idelani mc (obnoveni obou panelu i view/edit souboru pustenych z mc) se nepodari :-) mozna ty oba panely, zkousel sem laborovat s mc-wrapper.sh a taky koukal ze pro obnoveni procesu lze manipulovat s obnovenim ulozeneho "$command" pres ".byobu/tmux-plugins/tmux-resurrect/strategies/" kam by se musel vytvorit soubor pro mc, pokud zjistim jak s mc ukladat oba diry a i v pripade nekolika soubezne bezicich mc samostatne...
porad nemam telo, ale uz mam hlavu... nobody

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.