abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 10:44 | IT novinky

    Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.

    Ladislav Hagara | Komentářů: 1
    dnes 09:55 | IT novinky

    Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.

    Ladislav Hagara | Komentářů: 0
    dnes 09:33 | IT novinky

    Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.

    Ladislav Hagara | Komentářů: 0
    dnes 08:11 | Nová verze

    Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 20:55 | Nová verze

    Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Nová verze

    Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 15:55 | Pozvánky

    Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových

    … více »
    Zdenek H. | Komentářů: 2
    včera 15:44 | IT novinky Ladislav Hagara | Komentářů: 2
    včera 13:55 | Komunita

    Richard Stallman přednáší ve středu 7. května od 16:30 na Technické univerzitě v Liberci o vlivu technologií na svobodu. Přednáška je určená jak odborné tak laické veřejnosti.

    Ladislav Hagara | Komentářů: 10
    28.4. 23:33 | Nová verze

    Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.04.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    Jaký filesystém primárně používáte?
     (58%)
     (1%)
     (9%)
     (22%)
     (4%)
     (1%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 487 hlasů
     Komentářů: 19, poslední dnes 11:32
    Rozcestník

    Skript pro aktualizaci serverů

    1.3.2007 00:17 | Přečteno: 1730× | Linux

    Následující krátký skriptík provede na všech serverech ze seznamu přes ssh apt-get update & upgrade. Určeno pro Debian/Ubuntu a jiné DEB distribuce.

    Jak udržujete servery aktualizované? Dáváte to do cronu, nebo snad používáte nějaký software pro (vzdálenou) správu?

    Skript by potřeboval vylepšit -- asi největší bolístkou je momentálně spouštění příkazu v neterminálovém režimu (neexistuje proměnná TERM), takže pokud se nějaký balíček pokusí zeptat na dodatečné informace (třeba otevře ncurses okno), tak proces zhavaruje a je nutno spustit na tomto stroji upgrade ručně. Bohužel jsem zatím nepřišel na to, jak se přes ssh připojit na stroj (login with shell) a poté zde spustit příkaz.

    #!/bin/bash
    
    SERVERS=(
        server1.com
        server2.com
        etc.com
    )
    
    keychain ~/.ssh/id_dsa -Q -q --lockwait 5 --attempts 5 --nolock;
    source ~/.keychain/*-sh;
    
    for SERVER in "${SERVERS[@]}"; do
        echo "Working on $SERVER";
        # user-defined command?
        if [ -z "$1" ]; then
            ssh root@$SERVER 'apt-get -y update; apt-get -y upgrade';
        else
            ssh root@$SERVER "$1";
        fi
    done
           

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    1.3.2007 00:42 abr | skóre: 24 | blog: ab
    Rozbalit Rozbalit vše Re: Skript pro aktualizaci serverů
    Co tak misto "apt-get -y update; apt-get -y upgrade" pouzit "aptitude -y update && aptitude -y upgrade" ?
    1.3.2007 00:46 diverman | skóre: 32 | blog: život s tučňáčkem
    Rozbalit Rozbalit vše Re: Skript pro aktualizaci serverů
    Co si tím pomůžu?
    deb http://ftp.cz.debian.org/debian jessie main contrib non-free
    1.3.2007 00:59 abr | skóre: 24 | blog: ab
    Rozbalit Rozbalit vše Re: Skript pro aktualizaci serverů
    minimalne to, ze se nebude snazit upgradovat, dokud neprobehne update
    1.3.2007 01:40 Petr_N | skóre: 3 | Všetaty
    Rozbalit Rozbalit vše Re: Skript pro aktualizaci serverů
    Zrejme se tazatel ptal na zmenu, ktera nastane pouzitim aptitude misto apt-get a ne stredniku za && :-)
    1.3.2007 07:21 diverman | skóre: 32 | blog: život s tučňáčkem
    Rozbalit Rozbalit vše Re: Skript pro aktualizaci serverů
    jojo
    deb http://ftp.cz.debian.org/debian jessie main contrib non-free
    1.3.2007 08:55 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
    Rozbalit Rozbalit vše Re: Skript pro aktualizaci serverů
    To já ale nechci, středník je tam záměrně.
    1.3.2007 09:04 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
    Rozbalit Rozbalit vše Re: Skript pro aktualizaci serverů
    Jde o to, že bych potřeboval něco jako:
    $ echo 'apt-get upgrade' | /usr/bin/ssh root@stroj.xy.cz
    Pseudo-terminal will not be allocated because stdin is not a terminal.
    stdin: is not a tty
    Čtu seznamy balíků...
    Vytvářím strom závislostí...
    Následující balíky jsou podrženy v aktuální verzi:
      linux-image-server
    0 aktualizováno, 0 nově instalováno, 0 k odstranění a 1 neaktualizováno.
    1 instalováno nebo odstraněno pouze částečně.
    Potřebuji stáhnout 0B archivů.
    Po rozbalení bude na disku použito dalších 0B.
    Chcete pokračovat [Y/n]? Přerušeno.
    Zkrátka potřebuji do ssh spojení napsat automaticky apt-get upgrade (nebo něco jiného), ale aby byla zachována možnost do procesu zasáhnout (abych při nějakém problému mohl dát Yes/No). Tedy aby program ssh také přijímal vstup z klávesnice. Když navážu výstup echo na vstup ssh, tak to pak logicky nefunguje. Jak na to?

    Existuje nějaký filtr, který by přijal nějaké znaky a poté se zpět navázal na standardní vstup (z shellu)?
    1.3.2007 10:47 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Skript pro aktualizaci serverů
    Nemám tu po ruce Debian, ale nevyřeší to parametr -t? Pro mc mi to fungovalo.
    When your hammer is C++, everything begins to look like a thumb.
    1.3.2007 11:16 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Skript pro aktualizaci serverů
    Jdi na to takhle..
    user@stroj:~$ ssh usertam@strojtam \
    > 'export http_proxy="http://PROXYUSER:PROXYPASS@IPPROXY:PORT/" && \
    > export ftp_proxy="http://PROXYUSER:PROXYPASS@IPPROXY:PORT/"; \
    > sudo apt-get update; sudo apt-get upgrade'
    
    Pochopitelně pokud z nich nelezeš přes proxy tak tam nemusíš provést ten export. Chtěl jsem jen demonstrovat, že takhle můžeš naskládat libovolnou sekvenci příkazů.
    1.3.2007 11:29 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
    Rozbalit Rozbalit vše Re: Skript pro aktualizaci serverů
    No to je právě špatně, to nebude fungovat jak chci. Viz ten můj původní zápisek, takhle to tam dělám. Jakmile by apt-get potřeboval vstup, tak se to ukončí. A on vstup potřebuje i když tam dám parametr -y (například při upgradu balíčku který potřebuje ruční zásah).
    1.3.2007 11:46 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Skript pro aktualizaci serverů
    Ten zápis je sice stejný jako v původním blogpostu, ale jiný než předchází v příkladu k tomuto zápisku.

    Jednak nepředávám tu sérii příkazů rourou a pak je uzavřená v uvozovkách, čímž je předána ssh jako celek. Navíc.. mě to teda funguje. Jediná věc ještě může být v tom, že mám na ten vzdálený stroj vyexportovaný klíč, takže se neptá na heslo..

    Na uvozovky a řetězce v shellu opravdu bacha. Není jedno jaké a kde jsou použité.. Když Použiješ jednoduché, tak se proměnné neexpandují, kdežto při dvojitých ano. A když nepoužiješ uvozovky vůbec, tak bere automaticky mezeru jako oddělovač.

    Ještě mě teď napadla jedna věc. Také jsem narazil jednou na to, že příkaz spuštěný z shellu se choval jinak než když jel ze skriptu, ale musel bych se na to kouknout, jak jsem to tehdy rozčísnul..
    1.3.2007 12:26 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
    Rozbalit Rozbalit vše Re: Skript pro aktualizaci serverů
    Díky, problém stále přetrvává -- jak spustit přes ssh command tak, abych si zachoval terminál.
    1.3.2007 12:35 Dan Ohnesorg | skóre: 29 | blog: Danuv patentovy blog | Rudná u Prahy
    Rozbalit Rozbalit vše Re: Skript pro aktualizaci serverů
    To dela parametr -t ne?
    I'm an Igor, thur. We don't athk quethtionth. Really? Why not? I don't know, thur. I didn't athk. TP -- Making Money
    1.3.2007 12:42 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Skript pro aktualizaci serverů
    Podle toho co čtu v manuálu nejspíš ano. Ještě aby bylo jasno. Parametr "ssh -t user@stroj ..."
    1.3.2007 12:48 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
    Rozbalit Rozbalit vše Re: Skript pro aktualizaci serverů
    Díky, ano, to jsem přehlédl:

    ssh -t xy.abc.cz 'read | echo'
    1.3.2007 13:01 Dan Ohnesorg | skóre: 29 | blog: Danuv patentovy blog | Rudná u Prahy
    Rozbalit Rozbalit vše Re: Skript pro aktualizaci serverů
    Jinak jeste jeden komentar, ten script by mel nejak zretelne rict, na kterem serveru zrovna je. Aby kdyz se neco nepovede, tak admin vedel co a kde ma zachranovat.

    Jinak obecne, ja takovehle scripty nikdy nepouzivam. DEB je relativne hloupy a je dobre byt na tom stroji nalogovan a ridit to online. Kdyz se treba zacne bortit libc nebo ssh, tak zadne dalsi spojeni na server otevrit nejde a clovek musi stastne vyzit s tim, ktere uz ma otevrene. Tohle maji redhati mnohem hezci, upgrade je transakce a kdyz se to sype, tak se da udelat rollback. Bohuzel nevim o tom, ze by se pro debian neco takoveho byt by jen chystalo.

    Scripty se pouzivaji jen na sledovani aktualnosti baliku a zmen v systemech.
    I'm an Igor, thur. We don't athk quethtionth. Really? Why not? I don't know, thur. I didn't athk. TP -- Making Money
    1.3.2007 13:13 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
    Rozbalit Rozbalit vše Re: Skript pro aktualizaci serverů
    Ano souhlasim, delam na obou typu systemu. Na druhou stranu apt mi pripada rychlejsi. Zatim jsem se nastesti nesetkal s nejakym borcenim.

    Mozna by se to dalo osetrit nejak takto (spoustelo by se na danem stroji):
    apt-get update & upgrade
    if test $? != 0; then
      echo Error occured, please fix:
      bash
    fi
    (tento kod je pseudo)
    1.3.2007 18:01 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Skript pro aktualizaci serverů
    Taky jsem nezažil žádné borcení. Sice jsem neřešil více strojů najednou, ale třeba vzdáleně přeinstalaci z stable na unstable atp. RPM distribuce (SuSE nebo Mandrake) po podobné reinstalaci obvykle stejně skončily tak že by zralé reinstalací,

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.