Byla vydána nová verze 18 integrovaného vývojového prostředí (IDE) Qt Creator. S podporou Development Containers. Podrobný přehled novinek v changelogu.
Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 2.0. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).
Google Chrome 142 byl prohlášen za stabilní. Nejnovější stabilní verze 142.0.7444.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 20 bezpečnostních chyb. Za nejvážnější z nich bylo vyplaceno 50 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.
Pro moddery Minecraftu: Java edice Minecraftu bude bez obfuskace.
Národní identitní autorita, tedy NIA ID, MeG a eOP jsou nedostupné. Na nápravě se pracuje [𝕏].
Americký výrobce čipů Nvidia se stal první firmou na světě, jejíž tržní hodnota dosáhla pěti bilionů USD (104,5 bilionu Kč). Nvidia stojí v čele světového trhu s čipy pro umělou inteligenci (AI) a výrazně těží z prudkého růstu zájmu o tuto technologii. Nvidia již byla první firmou, která překonala hranici čtyř bilionů USD, a to letos v červenci.
Po Canonicalu a SUSE oznámil také Red Hat, že bude podporovat a distribuovat toolkit NVIDIA CUDA (Wikipedie).
TrueNAS (Wikipedie), tj. open source storage platforma postavená na Linuxu, byl vydán ve verzi 25.10 Goldeye. Přináší NVMe over Fabric (NVMe-oF) nebo OpenZFS 2.3.4.
Byla vydána OpenIndiana 2025.10. Unixový operační systém OpenIndiana (Wikipedie) vychází z OpenSolarisu (Wikipedie).
České základní a střední školy čelí alarmujícímu stavu kybernetické bezpečnosti. Až 89 % identifikovaných zranitelností v IT infrastruktuře vzdělávacích institucí dosahuje kritické úrovně, což znamená, že útočníci mohou vzdáleně převzít kontrolu nad klíčovými systémy. Školy navíc často provozují zastaralé technologie, i roky nechávají zařízení bez potřebných aktualizací softwaru a používají k nim pouze výchozí, všeobecně známá
… více »Ř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: