O víkendu (15:00 až 23:00) probíhá EmacsConf 2023, tj. online konference vývojářů a uživatelů editoru GNU Emacs. Sledovat ji lze na stránkách konference. Záznamy jsou k dispozici přímo z programu.
Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek i s náhledy aplikací v Týden v GNOME a Týden v KDE.
Organizace Apache Software Foundation (ASF) vydala verzi 20 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Desktopové prostředí Cinnamon, vyvíjené primárně pro distribuci Linux Mint, dospělo do verze 6.0. Seznam změn obsahuje především menší opravy a v říjnovém přehledu novinek v Mintu avizovanou experimentální podporu Waylandu.
OpenZFS (Wikipedie), tj. implementace souborového systému ZFS pro Linux a FreeBSD, byl vydán ve verzích 2.2.2 a 2.1.14. Přináší důležitou opravu chyby vedoucí k možnému poškození dat.
V ownCloudu byly nalezeny tři kritické zranitelnosti: CVE-2023-49103, CVE-2023-49104 a CVE-2023-49105 s CVSS 10.0, 8.7 a 9.8. Zranitelnost CVE-2023-49103 je právě využívána útočníky. Nextcloudu se zranitelnosti netýkají.
I letos vychází řada ajťáckých adventních kalendářů. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2023. Pro programátory v Perlu je určen Perl Advent Calendar 2023. Zájemci o UX mohou sledovat Lean UXmas 2023. Pro zájemce o kybernetickou bezpečnost je určen Advent of Cyber 2023…
Byla vydána verze 2.12 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 23.11 Topi. Přehled novinek v Changelogu.
Po 4 měsících vývoje byla vydána nová verze 4.2 multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu a na YouTube.
#!/usr/bin/env bash ##################### # zalohovaci skript # # (viz. nazev) # ##################### # promenne CIL="/home/zaloha" ZDROJ="/mnt/root-ss/etc" PREFIX="etc_" POSTFIX="`date +%d%m%y`.tar.bz2" NAZEV=${PREFIX}${POSTFIX} echo "vytvářím snapshot /" /etc/init.d/snapshot-root start >/dev/null && echo "zálohuji adresář $ZDROJ" tar -cjf ${CIL}/${NAZEV} "$ZDROJ" 2>/dev/null && echo "odpojuji snapshot /" /etc/init.d/snapshot-root stop >/dev/null && echo "upravuji práva souboru zálohy" find ${CIL} -name "${PREFIX}*" -print0 | xargs -0 chmod 640 && echo "hledám a mažu zálohy starší 3 dny" find ${CIL} -name "${PREFIX}*" -mtime +2 -print0 | xargs -0 rm -f && echo "připojuji DVD-RAM" mount /media/dvd-ram && echo "synchronizuji zálohy s DVD-RAM" rsync -av --delete ${CIL}/ /media/dvd-ram/ >> /dev/null && echo "odpojuji DVD-RAM" umount /media/dvd-ram echo "zasílám informační e-mail a zapisuji stav do logu" if [[ `echo $?` -eq 0 ]]; then echo -e "`date` Zaloha "$ZDROJ" byla provedena." >>/var/log/zaloha.log else echo -e "`date` Zaloha "$ZDROJ" SKONCILA CHYBOU!" >> /var/log/zaloha.log mail -s "zaloha "$ZDROJ"" example@example.net <<-MESSAGE Dobry den, Zaloha "$ZDROJ" NEBYLA PROVEDENA v `date +%H:%M` `date +%d.%m.%Y`. Vas zalozni server :( MESSAGE fi echo "HOTOVO!"pokud dam spusteni do cronu, tak mi to napise toto:
/etc/init.d/snapshot-root: line 12: lvcreate: command not found umount: /mnt/root-ss: not foundJak je to mozne? Myslel jsem, ze cron to spusti naprosto stejne, jak ja rucne.
lvcreate
?
#!/usr/bin/env bash # promenne CIL="/home/zaloha" ZDROJ="/mnt/root-ss/etc" PREFIX="etc_" POSTFIX="`date +%d%m%y`.tar.bz2" NAZEV=${PREFIX}${POSTFIX} echo "vytvářím snapshot /" /etc/init.d/snapshot-root start && echo "zálohuji adresář $ZDROJ" tar -cjf ${CIL}/${NAZEV} "$ZDROJ" 2>/dev/null && echo "odpojuji snapshot /" /etc/init.d/snapshot-root stop && echo "upravuji práva souboru zálohy" find ${CIL} -name "${PREFIX}*" -print0 | xargs -0 chmod 640 && echo "hledám a mažu zálohy starší 3 dny" find ${CIL} -name "${PREFIX}*" -mtime +2 -print0 | xargs -0 rm -f && echo "připojuji DVD-RAM" mount /media/dvd-ram && echo "synchronizuji zálohy s DVD-RAM" rsync -av --delete ${CIL}/ /media/dvd-ram/ && echo "odpojuji DVD-RAM" umount /media/dvd-ram echo "záloha $ZDROJ byla úspěšně provedena" >>/var/log/zaloha.logPotrebuju nejak osetrit to, aby se mi posledni radek zapsal do logu pouze tehdy, kdyz je vse opravdu OK. A pokud bude chyba, chtel bych, aby se zapsal do logu ta chybova hlaska (treba s nejakou omackou, ze zaloha nebyla provedena z duvodu...). Diky
myexit(){ # logger -p error "Neco stojí za prd. Message: $1" # echo " ERROR !!! Message: $1" | /usr/bin/mailx \ # -s "Nejaky muj predmet" -r pepastroj@moje.kubrt pepa@moje.kubrt echo "Error: $1" exit $2 }a pokaždém příkazu (mimo echo :)) otestoval (nebo příkaz můžete dát přímo do podmínky)
if [ $? != 0 ]; then myexit "Error: tento příkaz nefunguje" 3 fiza předpokladu že si dáte ty && pryč (proč tam jsou?)
2>/dev/null
bych asi vyměnil za 2>>/var/log/zaloha_tar_err.log
- pomůže to při analýze případného problému.
/dev/null
i chybovy vypis z tar
, protoze mi to porad posilalo i tu hlasku s tim lomitkem..ted si ji nevybavim, ale tar
to ma v oblibe
Invalid argument 14,994G Error during parsing of command line. umount: /mnt/home-ss: not foundtady je script na snapshot:
#!/bin/sh zarizeni="/dev/LVM-sda2-sdb2/home"; # LVM logický oddíl pripojny_bod="/mnt/home-ss"; # Adresář, kam vytvořený obraz připojíme velikost_obrazu="14,994G"; # tolik změn lze na disku udělat, než se snapshot zaplní na 100% nazev_obrazu="home-ss"; # Název LVM obrazu nazev_vg="LVM-sda2-sdb2"; # LVM skupina svazků (VG) case "$1" in start) echo "Vytvářím obraz disku"; /sbin/lvcreate -s -L ${velikost_obrazu} -n ${nazev_obrazu} ${zarizeni} && mkdir ${pripojny_bod} && mount /dev/${nazev_vg}/${nazev_obrazu} ${pripojny_bod}; ;; restart) $0 stop $0 start ;; stop) echo "Ruším obraz disku"; umount ${pripojny_bod} && /sbin/lvremove -f /dev/${nazev_vg}/${nazev_obrazu} && rmdir ${pripojny_bod} ; ;; *) echo "Použijte jeden z těchto parametrů: $0 {start|stop|restart}" exit 3 ;; esacPS: A taky je spatne, ze prestoze se snapshot nevytvoril, script jede dal a tim padem nic nevyzalohuje a jeste smaze stare funkcni zalohy. Asi to bude potreba cele prepracovat, ze jo
velikost_obrazu="14,994G"
, nebylo by správnější velikost_obrazu="14G"
? mkdir
a mount
spojujete && tak se neprovedou, bo první neskočil s návratovým kódem '0', takže je logické že není co odmontovat – poslední hlášení…mount /dev/${nazev_vg}/${nazev_obrazu} ${pripojny_bod} && exit 0; exit 3a
…rmdir ${pripojny_bod} && exit 0; exit 3Tak se vám ze sciptu dostane návratový kód (o restartu se fčul nebavě).
/etc/init.d/snapshot-root start && echo "zálohuji adresář $ZDROJ" tar -cjf ${CIL}/${NAZEV} "$ZDROJ" 2>/dev/null &&Toto prakticky znamená, že pokud se neprovede vytvoření snapshotu, nevypíše se to „echo“, ale další příkaz normálně pokračuje.
… echo "vytvářím snapshot" /etc/init.d/snapshot-root start if [ $? != 0 ]; then echo "Snapshot stávkuje" exit 3 fi echo "zálohuji adresář $ZDROJ" tar -cjf ${CIL}/${NAZEV} "$ZDROJ" 2>/dev/null if [ $? != 0 ]; then echo "Tar má na háku a proc, to nevis, bo je to v /dev/null" exit 3 fi …
&&
jsem dal pryc z toho "zalohovaciho skriptu".
tar
zklamat s různých důvodů, a pokud nebudete mít někde výpis, tak nebudete vědět proč, a nějaký log navíc s pár bajtama už nikoho nezabije :)
Tiskni
Sdílej: