Byla vydána verze 4.0 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Přehled novinek v poznámkách k vydání. Využíván je Free Pascal Compiler (FPC) 3.2.2.
Podpora Windows 10 končí 14. října 2025. Připravovaná kampaň Konec desítek (End of 10) může uživatelům pomoci s přechodem na Linux.
Již tuto středu proběhne 50. Virtuální Bastlírna, tedy dle římského číslování L. Bude L značit velikost, tedy více diskutujících než obvykle, či délku, neboť díky svátku lze diskutovat dlouho do noci? Bude i příští Virtuální Bastlírna virtuální nebo reálná? Nejen to se dozvíte, když dorazíte na diskuzní večer o elektronice, softwaru, ale technice obecně, který si můžete představit jako virtuální posezení u piva spojené s učenou
… více »Český statistický úřad rozšiřuje Statistický geoportál o Datový portál GIS s otevřenými geografickými daty. Ten umožňuje stahování datových sad podle potřeb uživatelů i jejich prohlížení v mapě a přináší nové možnosti v oblasti analýzy a využití statistických dat.
Kevin Lin zkouší využívat chytré brýle Mentra při hraní na piano. Vytváří aplikaci AugmentedChords, pomocí které si do brýlí posílá notový zápis (YouTube). Uvnitř brýlí běží AugmentOS (GitHub), tj. open source operační systém pro chytré brýle.
Jarní konference EurOpen.cz 2025 proběhne 26. až 28. května v Brandýse nad Labem. Věnována je programovacím jazykům, vývoji softwaru a programovacím technikám.
Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
Před 25 lety zaplavil celý svět virus ILOVEYOU. Virus se šířil e-mailem, jenž nesl přílohu s názvem I Love You. Příjemci, zvědavému, kdo se do něj zamiloval, pak program spuštěný otevřením přílohy načetl z adresáře e-mailové adresy a na ně pak „milostný vzkaz“ poslal dál. Škody vznikaly jak zahlcením e-mailových serverů, tak i druhou činností viru, kterou bylo přemazání souborů uložených v napadeném počítači.
Byla vydána nová major verze 5.0.0 svobodného multiplatformního nástroje BleachBit (GitHub, Wikipedie) určeného především k efektivnímu čištění disku od nepotřebných souborů.
Řešení dotazu:
rsync --link-dest
, nebo rsync + btrfs snapshoty.
Co záloha, to adresář pojmenovaný podle data zálohy. Deduplikace pak probíhá buď pomocí hardlinků (proti předchozí záloze), nebo pomocí snapshotů (rsync aktualizuje zapisovatelný adresář a toho se pak udělá snapshot).
Pokud by někdo měl tip na dobrý nástroj pro odstraňování starých záloh, sem s ním prosím. Už několik let se chystám ho napsat. :)
dela deduplikaci na urovni filesystemu (!!! tedy dosahuje tehoz efektu tim, ze na fs zavisly neni a ma nejaky vlastni format ulozeni dat v adresarich, ale vysledkem je deduplikace v ramci repository - a dela to fakt hodne dobre! protoze jsem zkousel deduplikacni fs a byly s tim ruzne potize a ruzne podminky, ale tohle tim netrpi!),To právě deduplikace na úrovni filesystému není. To je aplikační úroveň, tedy o úroveň výš. Kdyby to bylo na úrovni filesystému, tak vidíš všechny zálohy rovnou bez jakýchkoliv zvláštních nástrojů a připojování.
Tohle je asi tak nejtypičtější možný příklad na snapshoty v Btrfs nebo ZFS. Přírůstkové, čitelné, ba dokonce i zapisovatelné, atomické, postupně „ředitelné“, jak plyne čas, atd.
Žádný program na přírůstkové zálohy neexistuje a nikdy neexistoval (navzdory četným fámám o opaku), protože takové zálohy z principu nejsou atomické. Aby byla záloha atomická v rámci nějaké adresářové (pod)struktury nebo celého filesystému, je potřeba mít snapshoty na úrovni fileystému, tedy kernelu.
Algořiťmus pro zálohování mezi dvěma filesystémy (ideálně geograficky oddělenými, jak jinak):
#!/bin/bash mv /.snapshots_root/root/ /.snapshots_root/root-old mv /media/data/.snapshots_root_backup/root/ /media/data/.snapshots_root_backup/root-old btrfs subvolume snapshot -r / /.snapshots_root/root && sync btrfs send -p /.snapshots_root/root-old/ /.snapshots_root/root | btrfs receive /media/data/.snapshots_root_backup/ btrfs subvolume delete /.snapshots_root/root-old/ btrfs subvolume delete /media/data/.snapshots_root_backup/root-olda do ted jsem ten snapshot pomocí rsnapshot posílal přírůstkově na NAS a docela spokojenost. Jen postupem času začal adresář na NASu narůstat víc než se mi líbí. Tak hledám variantu
Já si napsal bash skript co posílá btrfs snapshoty (send/receive) přes SSH. Je to navržené na to, aby se to spouštělo automaticky vždy v 23:59. Všechny snapshoty jsou na cílovém zařízení normálně přístupné. Tak třeba se to bude hodit.
#!/bin/bash ################# ### Nastavení ### ################# #Adresáře k zálohování cesta_mistni="/srv" adresare=("http" "mysql" "nextcloud") cesta_snapshoty="/srv/.backup_increment" cesta_vzdalena="/srv/backup/" historie="30" server="***.***.***.***" klic="/root/BackupKey" ############## ### Funkce ### ############## #Vytvoření snapshotu vytvor_snapshot() { btrfs subvolume snapshot -r "${cesta_mistni}/$1" "${cesta_snapshoty}/$1_$datum" if [ $? == 0 ]; then return 0 else return 1 fi } #Odeslání snapshotu odesli_snapshot() { if [ -d "${cesta_snapshoty}/$1" ] && [ ssh "backup@${server}" -i "$klic" "[ -d ${cesta_vzdalena}/$1/$1_${datum_vcera} ]" ]; then btrfs send -p "${cesta_snapshoty}/$1" "${cesta_snapshoty}/$1_$datum" | ssh "backup@$server" -i "$klic" "sudo btrfs receive \"${cesta_vzdalena}/$1\" && \ sudo btrfs property set -ts \"${cesta_vzdalena}/$1/$1_$datum\" ro false && \ sudo touch -d \"$datum_touch\" \"${cesta_vzdalena}/$1/$1_$datum\" && \ sudo btrfs property set -ts \"${cesta_vzdalena}/$1/$1_$datum\" ro true" if [ $? == 0 ]; then return 0 else return 1 fi else if ssh "backup@$server" -i "$klic" "[ ! -d ${cesta_vzdalena}/$1 ]" then ssh "backup@$server" -i "$klic" "mkdir ${cesta_vzdalena}/$1" fi btrfs send "${cesta_snapshoty}/$1_$datum" | ssh "backup@$server" -i "$klic" "sudo btrfs receive \"${cesta_vzdalena}/$1\" && \ sudo btrfs property set -ts \"${cesta_vzdalena}/$1/$1_$datum\" ro false && \ sudo touch -d \"$datum_touch\" \"${cesta_vzdalena}/$1/$1_$datum\" && \ sudo btrfs property set -ts \"${cesta_vzdalena}/$1/$1_$datum\" ro true" if [ $? == 0 ]; then return 0 else return 1 fi fi } #Smazání snapshotu smaz_snapshot() { if [ -d "${cesta_snapshoty}/${1}_${datum_vcera}" ]; then btrfs subvolume delete "${cesta_snapshoty}/${1}_${datum_vcera}" fi if [ $? == 0 ]; then return 0 else return 1 fi } #Přejmenování snapshotu prejmenuj_snapshot() { mv "${cesta_snapshoty}/$1_$datum" "${cesta_snapshoty}/$1" if [ $? == 0 ]; then return 0 else return 1 fi } #Smazání starých záloh smaz_stare() { ssh "backup@$server" -i "$klic" "find \"${cesta_vzdalena}/$1\" -maxdepth 1 -type d -mtime \"+$((historie-1))\" -exec sudo btrfs subvolume delete {} \;" } ############## ### SKRIPT ### ############## #Aktuální datum datum="$(date '+%Y-%m-%d')" datum_vcera="$(date '+%Y-%m-%d' -d 'yesterday')" datum_touch="$(date '+%Y-%m-%d %H:%M' -d 'today 23:59')" #Vytvoření snapshotů pododdílů for adresar in ${adresare[@]} do vytvor_snapshot $adresar done #Odeslání snapshotů do zálohovacího zařízení přes SSH for adresar in ${adresare[@]} do odesli_snapshot $adresar done ##Smazání minulých snapshotů pododdílů for adresar in ${adresare[@]} do smaz_snapshot $adresar done #Přejmenování posledních snapshotů for adresar in ${adresare[@]} do prejmenuj_snapshot $adresar done ##Smazání starých vzdálených záloh for adresar in ${adresare[@]} do smaz_stare $adresar done exit 0
Tiskni
Sdílej: