abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 13:44 | Nová verze

    Byla vydána (𝕏) nová major verze 17 softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech GitLab (Wikipedie). Představení nových vlastností i s náhledy a videi v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | Komunita

    Sovereign Tech Fund, tj. program financování otevřeného softwaru německým ministerstvem hospodářství a ochrany klimatu, podpoří vývoj FFmpeg částkou 157 580 eur. V listopadu loňského roku podpořil GNOME částkou 1 milion eur.

    Ladislav Hagara | Komentářů: 0
    včera 01:55 | Komunita

    24. září 2024 budou zveřejněny zdrojové kódy přehrávače Winamp.

    Ladislav Hagara | Komentářů: 9
    16.5. 23:33 | Nová verze

    Google Chrome 125 byl prohlášen za stabilní. Nejnovější stabilní verze 125.0.6422.60 přináší řadu oprav a vylepšení (YouTube). Podrobný přehled v poznámkách k vydání. Opraveno bylo 9 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    16.5. 21:11 | Nová verze

    Textový editor Neovim byl vydán ve verzi 0.10 (𝕏). Přehled novinek v příspěvku na blogu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    16.5. 20:55 | Nová verze

    Byla vydána nová verze 6.3 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.15.

    Ladislav Hagara | Komentářů: 0
    16.5. 13:33 | IT novinky

    Dnes ve 12:00 byla spuštěna první aukce domén .CZ. Zatím největší zájem je o dro.cz, kachnicka.cz, octavie.cz, uvycepu.cz a vnady.cz [𝕏].

    Ladislav Hagara | Komentářů: 9
    16.5. 13:22 | Nová verze

    JackTrip byl vydán ve verzi 2.3.0. Jedná se o multiplatformní open source software umožňující hudebníkům z různých částí světa společné hraní. JackTrip lze instalovat také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    16.5. 12:22 | Pozvánky

    Patnáctý ročník ne-konference jOpenSpace se koná 4. – 6. října 2024 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áří všichni účastníci, se skládá z desetiminutových

    … více »
    Zdenek H. | Komentářů: 0
    16.5. 03:11 | Nová verze

    Program pro generování 3D lidských postav MakeHuman (Wikipedie, GitHub) byl vydán ve verzi 1.3.0. Hlavní novinkou je výběr tvaru těla (body shapes).

    Ladislav Hagara | Komentářů: 9
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (74%)
     (6%)
     (10%)
     (10%)
    Celkem 305 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník

    Dotaz: Pomoc se zálohovacím bash skriptem

    13.6.2014 16:58 Michal
    Pomoc se zálohovacím bash skriptem
    Přečteno: 416×
    Zdravím. Každý den mi vzniká nový adresář, kde jsou nasypány různé druhy záloh (dump mysql, zazipovaný /etc...). Lámu si hlavu nad tím, jak odstraňovat staré zálohy.

    Potřebuji odstranit zálohu, která: (je starší než 7 dnů) a (není pondělní nebo je starší než měsíc) a (není z prvního dne měsíce nebo je starší než rok)

    Hádám, že nejsem zdaleka první, kdo tohle řeší. Prosím tedy o nakopnutí... pokud možno správným směrem ;-)

    Odpovědi

    13.6.2014 17:45 DarkKnight | skóre: 26
    Rozbalit Rozbalit vše Re: Pomoc se zálohovacím bash skriptem
    a adresar je pojmenovany jak? DEN-MESIC-ROK? na smazani dle data by slo pouzit neco jako rm -rf ./backups/`date --date="7 days ago" "+%d-t%m-%Y"` spoustene kazdy den cronem

    ohledne zachovani "pondelnich" zaloh (a prvni den v mesici atd.) by se mohla slozka proste prejmenovat, at nespada do pravidelnych zaloh (ktere by se mazaly danym skriptem)... pravdepodobne je to jednodussi, nez resit slozite podminky

    druha moznost je treba prochazet vsechny slozky a volat na ne date -r slozka/ (vrati posledni modifikaci slozky)
    15.6.2014 11:06 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Pomoc se zálohovacím bash skriptem
    Pokud takto, tak denně po úspěšné záloze smazat tu nejstarší co nechceš bude asi nejednodušší (určitě bych to nemazal v jiném scriptu než vznikají zálohy).
    Pokud je chceš identifikovat názvem tak příkaz date ti vykouzlí jakýkoliv formát data a kdykoliv v minulosti. A pokud chceš přeskočit prvního, tak stačí jedna podmínka opět v kombinaci s příkazem date na den v měsíci (bacha na toto :) ).
    Pokud to chceš identifikovat časem vytvoření adresáře tak příkaz find.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    15.6.2014 11:25 w
    Rozbalit Rozbalit vše Re: Pomoc se zálohovacím bash skriptem
    https://www.google.cz/?gfe_rd=cr&ei=SWadU7nnPIaH8Qf40YC4Ag&gws_rd=ssl#q=find+mtime
    16.6.2014 06:47 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: Pomoc se zálohovacím bash skriptem
    Jestli je to tedy možné, hodil bych zálohy z pondělí a z prvního dne do extra podadresářů (week , month) no a promazávat v nich je pak už hračka

    M.
    16.6.2014 23:15 divbyzero | skóre: 6
    Rozbalit Rozbalit vše Re: Pomoc se zálohovacím bash skriptem
    Ahoj, osobne bych na to bash nepouzil, pres date parsujes text a to je na pytel. Treba PHP by slo, co nejak takto. Nejsem programator, takze urcite to jde lip :)
    
       date_default_timezone_set('Europe/Berlin');
       $file_list = array();
       $stack[] = '/var/www';
    
       while ($stack) {
           $current_dir = array_pop($stack);
           if ($dh = opendir($current_dir)) {
               while (($file = readdir($dh)) !== false) {
                   if ($file !== '.' AND $file !== '..') {
                       $current_file = "{$current_dir}/{$file}";
                       $report = array();
                       if (is_file($current_file)) {
                           $file_list[] = "{$current_dir}/{$file}";
                       } elseif (is_dir($current_file)) {
                           $stack[] = $current_file;
                           $file_list[] = "{$current_dir}/{$file}/";
                       }
                   }
               }
           }
       }
    
    
      foreach ($file_list as $id => $file) {
        if (is_file($file)) {
            $file_dayofmonth = date ("j", filemtime("$file"));
            $file_dayofweek = date ("N", filemtime("$file"));
    
            if ($file_dayofmonth == "1") {
                    echo "nemazat (1. v mesici) $file\n";
                    break;
            }
    
            if ($file_dayofweek == "1") {
                    echo "nemazat (1. den v tydnu)  $file\n";
                    break;
            }
    
            if (filemtime($file) < (time()-(7*24*60*60))) {
                    echo "mazat (stari) $file\n";
                   # unlink($file);
            } else {
                    echo "nemazat (stari) $file\n";
            }
         }
      }
    
    
    
    16.6.2014 23:46 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: Pomoc se zálohovacím bash skriptem
    Máš pravdu, určitě nejsi první, kdo tohle řeší. Mrkni např. na http://gehrcke.de/timegaps/
    17.6.2014 17:30 divbyzero | skóre: 6
    Rozbalit Rozbalit vše Re: Pomoc se zálohovacím bash skriptem
    krome php asi i takto v bashi:
    #!/bin/bash
    
    sourceDir="/backups"
    
    files=($(find $sourceDir -type f -regex "^.*$"))
    
    for item in ${files[*]}
    do
    
       dayofweek=$(date --date=`stat -c %y $item | sed 's/^\([0-9\-]*\).*/\1/'` +"%u")
       dayofmonth=$(date --date=`stat -c %y $item | sed 's/^\([0-9\-]*\).*/\1/'` +"%d")
    
       if ( [ `find $item -mtime +7` ] && [[ $dayofweek -gt 1 || `find $item -mtime +30` ]] && [[ $dayofmonth -ne 1 || `find $item -mtime +365` ]] ); then
                    echo "$item mazat"
             else
                    echo "$item nemazat"
       fi
    
    done
    

    Založit nové vláknoNahoru

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

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