Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.
Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.
Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.
Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.
Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.
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
Nemuzu to ted vyzkouset, protoze to dela fakt jen nekdy a v Cronu ve stejny cas...
, která vychází z man. Já bych to ale neřešil, stejně se smažou, pouze o den později
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
a jeste mi do mailu prijde info, ze zaloha nebyla provedena.. i kdyz byla, ale stara se nesmazala..
#!/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
#end
jinak 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: