Konference OpenAlt 2025 hledá přednášející. Proběhne o víkendu 1. a 2. listopadu na půdě Fakulty informačních technologií VUT v Brně. Témata konference jsou: Otevřený a svobodný software, IoT a Hnutí tvůrců, Vzdělávání, Bezpečnost a soukromí, Otevřená společnost, komunity a data, OpenMobility a další.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 153 (pdf)
Byl publikován květnový přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Vývojáře lze podpořit na Open Collective a GitHub Sponsors.
Programovací jazyk Rust (Wikipedie) dnes slaví 10 let od vydání verze 1.0. Přímo na oslavě byla vydána nová verze 1.87.0. Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Evropská komise obvinila provozovatele čínské platformy TikTok z porušování pravidel EU kvůli netransparentnosti v reklamě. Komise, která v EU plní i funkci antimonopolního úřadu, to dnes uvedla v tiskové zprávě. TikTok, který patří čínské firmě ByteDance, se může k předběžnému nálezu vyjádřit. Pokud ale podezření komise nevyvrátí, hrozí mu pokuta až do šesti procent z ročního globálního obratu.
Sovereign Tech Agency (Wikipedie), tj. agentura zabezpečující financování svobodného a otevřeného softwaru německou vládou, podpoří GFortran částkou 360 000 eur.
Microsoft hodlá zrušit zhruba tři procenta pracovních míst. Microsoft na konci loňského června zaměstnával kolem 228.000 lidí. Tři procenta z tohoto počtu představují téměř 7000 pracovních míst.
V říjnu loňského roku provedl Úřad pro ochranu hospodářské soutěže (ÚOHS) místní šetření u společnosti Seznam.cz. Krajský soud v Brně tento týden konstatoval, že toto šetření bylo nezákonné.
Branch Privilege Injection (CVE-2024-45332, Paper) je nejnovější bezpečnostní problém procesorů Intel. Intel jej řeší ve včerejším opravném vydání 20250512 mikrokódů pro své procesory. Neprivilegovaný uživatel si například může přečíst /etc/shadow (YouTube).
Dle plánu byl vývoj Firefoxu přesunut z Mercurialu na Git. Oficiální repozitář se zdrojovými kódy je na GitHubu.
find zaloha-etc* -mtime +2 -print0 | xargs -0 rm -f
. Kolikrat se ale stane, ze mi ty zalohy starsi nesmaze (pusteno cronem pokazde ve stejny cas). Kdyz to ale pustim rucne (tj. v jakykoliv jiny cas), tak se stare smazou a je vse OK. Nekde jsem tady cetl, ze to muze byt opozdenym koncem zalohy a hned to nesplni podminku casu. Jak ale mazat, aby koukal jen na datum a ne na cas? (jen doplnim, ze zalohy neprovadim kolem pulnoci)
find -name 'zaloha-etc*' -mtime....
?
-daystart -mtime 3
Measure times from the beginning of today rather than from 24 hours ago. So, to list the regular files in your home directory that were modified yesterday, do find ~/ -daystart -type f -mtime 1
#!/usr/bin/env bash # promenne CIL="/usr/zaloha" ZDROJ="/etc" PREFIX="etc_" POSTFIX="`date +%d%m%y`.tar.bz2" NAZEV=${PREFIX}${POSTFIX} # vyzalohuje adresar $ZDROJ tar -cjf ${CIL}/${NAZEV} "$ZDROJ" 2>/dev/null && # upravi prava zalohy chmod 640 ${CIL}/${PREFIX}* && # nalezne a smaze zalohy starsi xx dni find ${CIL}/${PREFIX}* -mtime +2 -print0 | xargs -0 rm -f # synchronizuje s DVD-RAM rsync -av --delete /usr/zaloha/ /media/dvd-ram/ # 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"" email@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/zaloha.log mail -s "zaloha "$ZDROJ"" email@example.net <<-MESSAGE Dobry den, Zaloha "$ZDROJ" NEBYLA PROVEDENA v `date +%H:%M` `date +%d.%m.%Y`. Vas zalozni server :( MESSAGE fi #endjinak mam tehle scriptu vic (na jine adresare) a jediny problem mi dela ten /etc ... zajimavy, scripty jsou identicky, jen menim promenne...
find ${CIL} -name "${PREFIX}*" -mtime +2 ...
# Delete older than last 7 backups (not 7 days)
ls -1t $DESTINATION | grep ^prefix | tail -n +8 | xargs rm
server:/usr# ls -1t /usr/zaloha | grep ^var_www_ | tail -n +4 var_www_150608.tar.bz2 server:/usr# ls -1t /usr/zaloha | grep ^var_www_ | tail -n +4 | xargs rm rm: cannot remove `var_www_150608.tar.bz2': není souborem ani adresářem
/usr/zaloha
, jak to osetrit?
ls
nevypisuje absolutní cestu.
Jako nejjednodušší řešení jsem použil to, že se před tím uvedeným příkazem na odstranění záloh přesunu do patřičného adresáře: cd $DESTINATION
Další možností by bylo doplnit ještě příkaz, který zyčátek každého řádku výstupu z ls
doplní o ${DESTINATION}/
. Napadá mě ošklivé řešení s awk
, ale určitě by na to bylo lepší použít nějaký jiný příkaz:
ls -1t $DESTINATION | grep ^prefix | tail -n +8 | awk '{ "/usr/zaloha/" $0 }' | xargs rm
Místo /usr/zaloha/
by tam mělo být obecnější ${DESTINATION}
, ale nepřišel jsem na to, jak escapovat ty uvozovky, aby došlo k expanzi proměnné.
var="ahoj" gawk -v var2="$var" 'BEGIN {print var2}'
awk
mi ve složených závorkách vypadlo print
.
Takže by to mohlo být nějak takhle:
ls -1t "$DESTINATION" | grep ^prefix | tail -n +8 | awk -v dir="$DESTINATION" '{ print $dir "/" $0 }' | xargs rm
$dir
má být jen dir
, bez $
.
ls -1t "$DESTINATION" | grep ^prefix | tail -n +8 | awk -v dir="$DESTINATION" '{ print dir "/" $0 }' | xargs rm
rsync
, takže zde bych hledal možné problémy. Nebo na začátek scriptu přidej set -x
a vyhodnocování si pak můžeš prohlédnout v mailu.
if [[ `echo $?` -eq 0 ]]
je překombinované, použijte if [[ $? -eq 0 ]]
.
2>/dev/null
. Takhle přicházíš právě o ten chybový výstup, kde tar
možná říká, proč skončil neúspěsně.
Tiskni
Sdílej: