Všem vše nejlepší do nového roku 2026.
Crown je multiplatformní open source herní engine. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT a GPLv3+. Byla vydána nová verze 0.60. Vyzkoušet lze online demo.
Daniel Stenberg na svém blogu informuje, že po strncpy() byla ze zdrojových kódů curlu odstraněna také všechna volání funkce strcpy(). Funkci strcpy() nahradili vlastní funkcí curlx_strcopy().
Byla vydána nová verze 25.12.30 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.
Společnost Valve publikovala přehled To nej roku 2025 ve službě Steam aneb ohlédnutí za nejprodávanějšími, nejhranějšími a dalšími nej hrami roku 2025.
Byly publikovány výsledky průzkumu mezi uživateli Blenderu uskutečněného v říjnu a listopadu 2025. Zúčastnilo se více než 5000 uživatelů.
V dokumentově orientované databázi MongoDB byla nalezena a v upstreamu již opravena kritická bezpečností chyba CVE-2025-14847 aneb MongoBleed.
Při úklidu na Utažské univerzitě se ve skladovacích prostorách náhodou podařilo nalézt magnetickou pásku s kopií Unixu V4. Páska byla zaslána do počítačového muzea, kde se z pásky úspěšně podařilo extrahovat data a Unix spustit. Je to patrně jediný známý dochovaný exemplář tohoto 52 let starého Unixu, prvního vůbec programovaného v jazyce C.
FFmpeg nechal kvůli porušení autorských práv odstranit z GitHubu jeden z repozitářů patřících čínské technologické firmě Rockchip. Důvodem bylo porušení LGPL ze strany Rockchipu. Rockchip byl FFmpegem na porušování LGPL upozorněn již téměř před dvěma roky.
K dispozici je nový CLI nástroj witr sloužící k analýze běžících procesů. Název je zkratkou slov why-is-this-running, 'proč tohle běží'. Klade si za cíl v 'jediném, lidsky čitelném, výstupu vysvětlit odkud daný spuštěný proces pochází, jak byl spuštěn a jaký řetězec systémů je zodpovědný za to, že tento proces právě teď běží'. Witr je napsán v jazyce Go.
/etc. Ale je to vrchol amaterismu, tak bych potreboval od Vas rady co a jak predelat a vylepsit. Tady je:
#!/bin/sh CIL="/zaloha" ZDROJ="/etc" NAZEV="`date +'%Y%m%d%M'`.tar.bz2" tar cfj $CIL/$NAZEV $ZDROJ find $CIL -mmin +30 -print0 | xargs -0 rm -f echo Zaloha $ZDROJ byla provedena...
Je to zkusebni verze, takze v cronu mam nastaveno spousteni kazdych 10 minut ( */10 * * * * /usr/local/scripts/zaloha > /var/log/zaloha.log
). Soubory starsi 30 minut se mi automaticky mazou. To je fajn. Ja bych ale potreboval:
1. aby mi hlaska zaloha /etc byla provedena... nesla jen do /var/log/zaloha.log, ale odeslala se i mailem.
2. jak do logu dostanu datum a cas zapisu?
3. aby me pro zmenu mailem nechodila hlaska tar: Removing leading `/' from member names .
4. aby mi hlaska z bodu 1 nechodila a stare soubory se nesmazaly, kdyz neco selze a nova zaloha se neprovede. Ale aby me treba prislo Zaloha se neprovedla..bla bla
5. a jeste se mi, prosim, podivejte, jestli by prikaz tar atd.. nesel nejak vylepsit..
Mockrat Vam dekuju.
echo `date` ?
3. Google je dnes vypnutý?
4. tar ... && find ... Ty dva ampersandy jsou takovým logickým and, viz man bash. Logickým or jsou dvě trubky: ||
5. Je to celkem dobrý - prostě to bude balit. Zato u toho findu je zbytečný xargs (zas tolik těch souborů tam nebude).
BTW. opravdu nechcete rdiff-backup?
man sh
1. Mohla by stacit premenna prostredia MAIL na zaciatku crontab-u, ak je ziaduce ci akceptovatelne zapnut odosielanie vystupov mailom pre vsetky cron joby; viac man crontab.
2. Hadam by stacil aj samotny date, nie?
3. Som rad, ze aj niekto iny ako ja dal takuto odpoved. Ale pozor na to, niektorych lenivcov takato odpoved tak znechuti, ze Ti ju budu najblizsich par mesiacov vykrikovat vo vsetkych diskusiach; to budes mat ako vdaku za to, ze si urobil pracu za nich.
5. Ten xargs mozno neriesi pocet suborov, ale nazvy suborov s medzerami a pod.; aj ked ak su tam len tie zalohy, tento pripad by nemal nastat. Akokolvek, riesenie s find a xargs je prenositelne a robustne.
Vytvoril jsem si "skriptik" na zalohu /etc. Ale je to vrchol amaterismu, tak bych potreboval od Vas rady co a jak predelat a vylepsit.
V principe si urobil spravnu vec: jednoduchy skript na riesenie jednoducheho problemu. Super, len tak dalej! Videl som jednoriadkove skripty, ktore spravne pomenovane a spravne umiestnene boli elegantne a genialne svojou jednoduchostou. Ako napisal Exupery: "Dokonalost je tam, kde nemozno nic odobrat, nie tam, kde nemozno nic pridat."
#!/bin/sh
CIL="/zaloha"
ZDROJ="/etc"
NAZEV="`date +%Y%m%d%M`.tar.bz2"
tar -cjf ${CIL}/${NAZEV} "$ZDROJ" 2>/dev/null &&
find "$CIL" -mmin +30 -print0 | xargs -0 rm -f
if [[ `echo $?` -eq 0 ]]; then
echo -e "`date`\nZaloha "$ZDROJ" byla provedena." > /var/log/zaloha.log
mail -s "zaloha "$ZDROJ"" prijemce@domena.cz <<-MESSAGE
`date`
Zaloha "$ZDROJ" byla provedena.
MESSAGE
else
echo -e "`date`\nZaloha "$ZDROJ" skonsila chybou!" > /var/log/zaloha.log
mail -s "zaloha "$ZDROJ"" prijemce@domena.cz <<-MESSAGE
`date`
Zaloha "$ZDROJ" skonsila chybou!
MESSAGE
fi
Si si isty, ze ten skript je shellovsky a nie bashovsky?#!/bin/sh
Jsem rad i za malou pochvalu (snad jsem si to nevylozil spatne:) od cronina.Pochvala bola myslena uplne vazne.
Ted nevim, jestli se mam ubirat smerem rady od messy (bod 4) nebo pouzit skript od Honzy-S, ktery je urcite funkcni,Tot dilema. Nastastie je tu v zapati riesenie:
ale nerad bych ho jen kopcil a nerozumel muJa osobne uprednostnujem shellovske riesenia pred bashovskymi, uz len preto, ze to, co skriptujem, musi byt casto pouzitelne v Linuxe, BSD aj Solarise. No a napr. v takom FreeBSD defaultne bash nie je.
#!/bin/sh zaměnit za #!/usr/bin/env bash , jinak nebude fungovat.
#!/bin/bash .. ale nevim proc...
env spouští uvedené utitlity/programy v závislosti na nastaveném prostředí. Zatímco #!/bin/bash funguje pouze v případě, že se bash nachází pod uvedenou absolutní cestou.
Například /home/uzivatel/zaloha. Veškerá data, určená k zálohování se soustředí do tohoto adresáře a a celý tento adresář se vypálí na DVD. Pro úsporu místa je možné
adresář zabalit (tar, zip, rar) a pak teprve vypálit. Dělám to přesně tak.
/var/.... ... Abych nezakladal nove vlakno, chtel bych se jeste zeptat, co mam spatne v radku: find "$CIL" -mmin +120 -print0 | xargs -0m -f. Cron jsem nastavil, aby skript (stale jen zkusebne) provadel kazdou hodinu a mazaly se soubory starsi nez 2 hodiny (120 minut), ale vzdy se mi smazou vsechny a zustane jen posledni zaloha. Kdyz jsem to mel na tech napr. 30 minut, tak vsechno fungovalo bezvadne...
find "$CIL" -mmin +30 -print0 | xargs -0 rm -f. Takhle to funguje, ale kdyz jsem tam dal dve "spojene" promenne nebo cestu /zaloha/etc_* , tak me skript vypsal, ze /zaloha/etc_* neni souborem ani adresarem. Kdyz jsem uvozovky zrusil, tak to slo. Nejak my z toho vyplyva, ze find "$CIL" -mmin +30 -print0 | xargs -0 rm -f je to same jako find $CIL/* -mmin +30 -print0 | xargs -0 rm -f . Nebo se pletu?
${$VAR}${$VAR2} .... nebo /zaloha/${VAR}
takhle jsem to myslel (ale blbě napsal): ${VAR}${VAR2}
[ales@pepa ~]$ ha=trdlo
[ales@pepa ~]$ echo $ha
trdlo
[ales@pepa ~]$ echo "$(echo $ha)neco/g"
trdloneco/g
[ales@pepa ~]$ echo "${ha}neco/g"
trdloneco/g
Ale:
[ales@pepa ~]$ echo "$haneco"
[ales@pepa ~]$ echo "$haneco/g"
/g
#!/usr/bin/env bash
# promenne
MOUNT="//jana-pc/D"
CIL="/usr/zaloha"
ZDROJ="/mnt/jana-D"
PREFIX="jana-D_"
POSTFIX=`date +%d%m%y`.tar.bz2
NAZEV=${PREFIX}${POSTFIX}
# primountuje sdilenou slozku Win
mount -t cifs ${MOUNT} ${ZDROJ} -o iocharset=utf8,codepage=1250,username=jana,password=jana
# vyzalohuje adresar $ZDROJ
tar -cjf ${CIL}/${NAZEV} "$ZDROJ" 2>/dev/null &&
# nalezne a smaze zalohy starsi xx dni
find ${CIL}/${PREFIX}* -mtime +7 -print0 | xargs -0 rm -f
# zasle informacni e-mail a zapise stav do logu
if [[ `echo $?` -eq 0 ]]; then
echo -e "`date` Zaloha "$ZDROJ" byla provedena." >> /var/log/zaloha.log
mail -s "zaloha "$ZDROJ"" root@example.net <<-MESSAGE
Dobry den,
Zaloha "$ZDROJ" byla provedena v `date +%H:%M` `date +%d.%m.%Y`
a je ulozena na serveru v "$CIL/$NAZEV"
Vas zalozni server :)
MESSAGE
else
echo -e "`date` Zaloha "$ZDROJ" SKONCILA CHYBOU!" >> /var/log/za
mail -s "zaloha "$ZDROJ"" root@example.net <<-MESSAGE
Dobry den,
Zaloha "$ZDROJ" NEBYLA PROVEDENA v `date +%H:%M` `date +%d.%m.%Y`.
Vas zalozni server :(
MESSAGE
fi
# end
Diky..
Tiskni
Sdílej: