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 12:55 | Nová verze

Byla vydána verze 17.12.0 KDE Aplikací (KDE Applications). Přehled novinek v kompletním seznamu změn a na stránce s dalšími informacemi. Aplikace, které nebyly dosud portovány na KDE Frameworks 5, byly z KDE Aplikací odstraněny.

Ladislav Hagara | Komentářů: 1
dnes 03:00 | Komunita

Na Humble Bundle lze získat počítačovou hru Company of Heroes 2 (Wikipedie, YouTube) běžící také v Linuxu zdarma. Speciální akce končí v sobotu v 19:00.

Ladislav Hagara | Komentářů: 0
dnes 02:00 | Zajímavý software

Christian Kellner představil na svém blogu projekt Bolt řešící bezpečnost rozhraní Thunderbolt 3 na Linuxu. Pomocí příkazu boltctl nebo rozšíření GNOME Shellu lze komunikovat s démonem boltd a například zakázat neznámá zařízení a předejít tak útokům typu Thunderstrike nebo DMA.

Ladislav Hagara | Komentářů: 2
dnes 01:00 | Nová verze

Po půl roce vývoje od vydání verze 11.0 byla vydána verze 11.1 svobodného softwaru pro vytváření datových úložišť na síti FreeNAS (Wikipedie). Nejnovější FreeNAS je postaven na FreeBSD 11.1. Přehled novinek v příspěvku na blogu. Zdůraznit lze zvýšení výkonu OpenZFS, počáteční podporu Dockeru nebo synchronizaci s cloudovými službami Amazon S3 (Simple Storage Services), Backblaze B2 Cloud, Google Cloud a Microsoft Azure

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

Po dvou měsících vývoje od vydání verze 235 oznámil Lennart Poettering vydání verze 236 správce systému a služeb systemd (GitHub, NEWS).

Ladislav Hagara | Komentářů: 1
včera 20:00 | Nová verze Ladislav Hagara | Komentářů: 0
včera 19:33 | Pozvánky

Pražská Fedora 27 Release Party, oslava nedávného vydání Fedory 27, se uskuteční 19. prosince od 19:00 v prostorách společnosti Etnetera (Jankovcova 1037/49). Na programu budou přednášky o novinkách, diskuse, neřízený networking atd.

Ladislav Hagara | Komentářů: 0
včera 18:11 | Nová verze

Byla vydána verze 2.11.0 QEMU (Wikipedie). Přispělo 165 vývojářů. Provedeno bylo více než 2 000 commitů. Přehled úprav a nových vlastností v seznamu změn.

Ladislav Hagara | Komentářů: 0
včera 17:44 | Komunita

Canonical oznámil dostupnost kryptografických balíčků s certifikací FIPS 140-2 úrovně 1 pro Ubuntu 16.04 LTS pro předplatitele podpory Ubuntu Advantage Advanced. Certifikace FIPS (Federal Information Processing Standards) jsou vyžadovány (nejenom) vládními institucemi USA.

Ladislav Hagara | Komentářů: 3
včera 16:11 | Zajímavý software

Společnost Avast uvolnila zdrojové kódy svého dekompilátoru RetDec (Retargetable Decompiler) založeného na LLVM. Vyzkoušet lze RetDec jako webovou službu nebo plugin pro interaktivní disassembler IDA. Zdrojové kódy RetDec jsou k dispozici na GitHubu pod open source licencí MIT.

Ladislav Hagara | Komentářů: 3
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (8%)
 (1%)
 (1%)
 (1%)
 (75%)
 (14%)
Celkem 993 hlasů
 Komentářů: 45, poslední 1.12. 19:00
    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: 393×
    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: 25
    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: 26 | 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: 61 | 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.