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:22 | Upozornění

    Ze systému Slavia pojišťovny uniklo přibližně 150 gigabajtů citlivých dat. Jedná se například o pojistné dokumenty, lékařské záznamy nebo přímou komunikaci s klienty. Za únik může chyba dodavatelské společnosti.

    Ladislav Hagara | Komentářů: 3
    dnes 10:11 | IT novinky

    Sněmovna propustila do dalšího kola projednávání vládní návrh zákona o digitální ekonomice, který má přinést bezpečnější on-line prostředí. Reaguje na evropské nařízení DSA o digitálních službách a upravuje třeba pravidla pro on-line tržiště nebo sociální sítě a má i víc chránit děti.

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

    Meta převezme sociální síť pro umělou inteligenci (AI) Moltbook. Tvůrci Moltbooku – Matt Schlicht a Ben Parr – se díky dohodě stanou součástí Meta Superintelligence Labs (MSL). Meta MSL založila s cílem sjednotit své aktivity na poli AI a vyvinout takovou umělou inteligenci, která překoná lidské schopnosti v mnoha oblastech. Fungovat by měla ne jako centralizovaný nástroj, ale jako osobní asistent pro každého uživatele.

    Ladislav Hagara | Komentářů: 0
    dnes 00:22 | Nová verze

    Byla vydána betaverze Fedora Linuxu 44 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 14. dubna.

    Ladislav Hagara | Komentářů: 0
    včera 12:11 | IT novinky

    Open source router Turris Omnia NG Wired je v prodeji. Jedná se o Turris Omnia NG bez Wi-Fi. Je připraven pro zamontování do racku.

    Ladislav Hagara | Komentářů: 6
    včera 11:44 | Pozvánky

    Sníh roztál a roztávají i bastlíři. Žene se na nás celá řada konferencí a seminářů technického rázu. Zajímá vás, jaké? Pak se připojte k 60. Virtuální Bastlírně, tedy k veřejné diskuzi bastlířů, techniků, učitelů i vědců. Jako vždy přijde na přetřes spousta novinek ze světa hardwaru, softwaru i bizáru. Na začátek lze očekávat hardwarová témata, tedy například nový KiCAD 10, nové akcelerátory LLM s nízkou spotřebou, nejvíce fosforeskující

    … více »
    bkralik | Komentářů: 1
    včera 11:22 | Zajímavý článek

    IuRe (Iuridicum Remedium) v rámci programu Digitální svobody zveřejnila analýzu dopadů a efektivity systémů ověřování věku v digitálním prostoru, která srovnává implementace ověřování věku v Austrálii, Velké Británii a Evropské unii.

    |🇵🇸 | Komentářů: 1
    včera 04:22 | Nová verze

    Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.3 (𝕏, Mastodon). Přehled novinek a vylepšení v poznámkách k vydání.

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

    Byla vydána nová verze 14.4 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 5
    9.3. 23:22 | Nová verze

    Databáze DuckDB (Wikipedie) byla vydána ve verzi 1.5.0. S kódovým názvem Variegata (husice rajská). Přináší řadu vylepšení, včetně nového ergonomičtějšího CLI klienta nebo podporu pro typ VARIANT a vestavěný typ GEOMETRY.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (16%)
     (6%)
     (0%)
     (11%)
     (29%)
     (2%)
     (5%)
     (2%)
     (13%)
     (25%)
    Celkem 1053 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    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: 453×
    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.