Örömmel venném, ha további felhasználási ötleteket adnátok, mert ugyan a program nincs kifejezetten egy célhoz kötve (pl. Git repo-k kezelése), de nem tudok rá túl sok példát, hogy mire lehetne még használni.
- bimlas blogja
- A hozzászóláshoz be kell jelentkezni
- 471 megtekintés
Hozzászólások
Pl shared hosting szerveren WordPress + pluginek frissítése wp-cli -vel
- A hozzászóláshoz be kell jelentkezni
Ilyesmire `xargs -P`-t használok, az mindenhol telepítve van.
A mosh amúgy elég szerencsétlen névválasztás lett, ha még esetleg nem ismernéd a mosh-t (https://mosh.org/), nagyon hasznos tud lenni!
- A hozzászóláshoz be kell jelentkezni
Kösz a figyelmeztetést - frankó, az összes '*sh' név már foglalt... (-_-')
Tanácsot szeretnék kérni: ha átnevezek egy projektet, azt vajon hogy jelezzem a felhasználóknak? Ha valaki csak befrissíti a szkriptet, egyáltalán nem biztos, hogy megnézi a changelog-ot, ergo olyan megoldás lenne jó, amit egyből látnak... Az jut most hirtelen eszembe, hogy meghagyom a Mosh szkriptet is egy eygszerű `echo "Megvaltozott a neve"` utasitassal es a kovetkezo release-nel már törlöm a szkriptet, de ez valahogy nyakatekertnek tűnik.
Ja, plusz a config fájlok (~/.mosh) útvonala is megváltozik, tehát egyértelműen jelezni kell nekik.
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
mush, or mushroom :)
"After successfully ignoring Google, FAQ's, the board search and leaving a undecipherable post in the wrong sub-forum don't expect an intelligent reply."
- A hozzászóláshoz be kell jelentkezni
Eleve a config fájlokat nem illik a ~/.mosh alá tenni, hanem az $XDG_CONFIG_HOME/mosh/ alá, fallback pedig a $HOME/.config/. Bash esetén: ${XDG_CONFIG_HOME:-$HOME/.config/} a szintaxis amit keresel.
A névcserét én úgy oldanám meg, hogy egy warning (szépen, színesen) a következő hónapban kiírja hogy most már mush (vagy akármi) a cucc neve, használja azt (nyilván ha az új néven hívja meg, akkor nincs warning). A második hónapban pedig. Le kell okézni, hogy megértette, a harmadik hónaptól meg már nincs mosh.
- A hozzászóláshoz be kell jelentkezni
Már csak kíváncsiságból is: az `xargs -P` megoldásra tudnál egy példát mondani?
- A hozzászóláshoz be kell jelentkezni
Természetesen. Amikor ki akarom nyírni a virtuozzo-ra telepített microservice-es alkalmazást (mondjuk redeploy miatt), akkor ezt szoktam meghívni:
export DC_NAME=kmarc_dc
ssh vz -- "sudo vzlist --all | awk '/\s${DC_NAME}/{ print \$1 }' | xargs -n1 -P6 sudo prlctl stop"
ssh vz -- "sudo vzlist --all | awk '/\s${DC_NAME}/{ print \$1 }' | xargs -n1 -P6 sudo prlctl delete"
ssh vz -- "sudo prlctl list --all | awk '/\s${DC_NAME}/{ print \$1 }' | xargs -n1 -P6 sudo prlctl stop"
ssh vz -- "sudo prlctl list --all | awk '/\s${DC_NAME}/{ print \$1 }' | xargs -n1 -P6 sudo prlctl delete"
Magyarázat:
- ssh-zik a vz hostra
- listázza a vz containereket/vm-eket
- awk-val kiszedi a container/vm nevét
- xargs-szal meghívja a container/vm stop / delete-et
A paraméterlistában az n1 megmondja, hogy egy argumentumot feedeljen processzenként, a P6 pedig azt, hogy egyszerre max 6-ot futtasson belőlük.
- A hozzászóláshoz be kell jelentkezni
Egy-két éve rábukkantam neten valakinek egy programjára/scriptjére, amit kifejezetten arra lehetett használni, hogy több, saját alkönyvtárában lévő "verziókezelt" cuccra egyszerre lehessen parancsokat kiadni, mindezt több különböző verziókezelőre megoldva. (Tehát ha pl. frissítést kérünk, akkor érzékeli, hogy egy projekt mondjuk gitet használ, akkor arra tol egy `git pull`-t, ha SVN-es, akkor annak megfelelően frissít stb.) A baj az, hogy fogalmam sincs, mi volt ez a program, és hol található, pedig azóta kerestem már párszor. =(
- A hozzászóláshoz be kell jelentkezni
Az én .bashrc-mben erre van egy recursive git pull alias:
alias git-recursive-pull='for d in $(find . -type d -name .git -printf "%h\n"); do (echo ***$d*** && cd $d && git pull --all && echo); done'
Ez minden subdirben, ami git subdir, kiadja a git pull --all parancsot.
Nyilvánvalóan cégenként / customerenként meg van minden fő git könyvtárra határozva, hogy a pull hogy viselkedjen (autostash, rebase, merge, stb.), egyedül a --all -ra nem jöttem rá hogy lehetne gitconfig-ból ?♂️
- A hozzászóláshoz be kell jelentkezni