Open source webový aplikační framework Django slaví 20. narozeniny.
V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.
Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.
Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.
Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.
Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.
McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.
Byla vydána (𝕏) červnová aktualizace aneb nová verze 1.102 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.102 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána nová verze 2.4.64 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 8 bezpečnostních chyb.
Společnost xAI na síti 𝕏 představila Grok 4, tj. novou verzi svého AI LLM modelu Grok.
/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ý? 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? 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.
/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}
${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 # endDiky..
Tiskni
Sdílej: