Společnost Proton AG stojící za Proton Mailem a dalšími službami přidala do svého portfolia online tabulky Proton Sheets v Proton Drive.
O víkendu (15:00 až 23:00) probíha EmacsConf 2025, tj. online konference vývojářů a uživatelů editoru GNU Emacs. Sledovat ji lze na stránkách konference. Záznamy budou k dispozici přímo z programu.
Provozovatel internetové encyklopedie Wikipedia jedná s velkými technologickými firmami o uzavření dohod podobných té, kterou má s Googlem. Snaží se tak zpeněžit rostoucí závislost firem zabývajících se umělou inteligencí (AI) na svém obsahu. Firmy využívají volně dostupná data z Wikipedie k trénování jazykových modelů, což zvyšuje náklady, které musí nezisková organizace provozující Wikipedii sama nést. Automatické programy
… více »Evropská komise obvinila síť 𝕏 z porušení unijních pravidel, konkrétně nařízení Evropské unie o digitálních službách (DSA). Vyměřila jí za to pokutu 120 milionů eur (2,9 miliardy Kč). Pokuta je podle názoru amerického ministra zahraničí útokem zahraničních vlád na americký lid. K pokutě se vyjádřil i americký viceprezident: „EU by měla podporovat svobodu projevu, a ne útočit na americké společnosti kvůli nesmyslům“.
Společnost Jolla spustila kampaň na podporu svého nového telefonu Jolla Phone se Sailfish OS. Dodání je plánováno na první polovinu příštího roku. Pokud bude alespoň 2 000 zájemců. Záloha na telefon je 99 €. Cena telefonu v rámci kampaně je 499 €.
Netflix kupuje Warner Bros. včetně jejích filmových a televizních studií HBO Max a HBO. Za 72 miliard dolarů (asi 1,5 bilionu korun).
V Las Vegas dnes končí pětidenní konference AWS re:Invent 2025. Společnost Amazon Web Services (AWS) na ní představila celou řadu novinek. Vypíchnout lze 192jádrový CPU Graviton5 nebo AI chip Trainium3.
Firma Proxmox vydala novou serverovou distribuci Datacenter Manager ve verzi 1.0 (poznámky k vydání). Podobně jako Virtual Environment, Mail Gateway či Backup Server je založená na Debianu, k němuž přidává integraci ZFS, webové administrační rozhraní a další. Datacenter Manager je určený ke správě instalací právě ostatních distribucí Proxmox.
Byla vydána nová verze 2.4.66 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 5 bezpečnostních chyb.
Programovací jazyk JavaScript (Wikipedie) dnes slaví 30 let od svého oficiálního představení 4. prosince 1995.
Respektive na vic problemu... Zacatky nejsou lehke...
Prosim nekamenujte me - s programovanim sh scriptu vazne teprve zacinam... Dekuji za kazdou radu.
Chybovy vypis: (ten me zatim trapi ze vseho nejvice...)
/root/zaloha.sh: line 121: [: missing `]' /root/zaloha.sh: line 124: [: missing `]' /root/zaloha.sh: line 121: [: missing `]' /root/zaloha.sh: line 124: [: missing `]' /root/zaloha.sh: line 121: [: missing `]' /root/zaloha.sh: line 124: [: missing `]' /root/zaloha.sh: line 121: [: missing `]' /root/zaloha.sh: line 124: [: missing `]' /root/zaloha.sh: line 171: syntax error near unexpected token `fi' /root/zaloha.sh: line 171: ` fi' [root@server100 root]#Vlastni script... Vlozil jsem tam i komentare, co az kam chodi spolehlive a na co mam vyhrady. Kdybych vse popsal uz tady v zahlavi, byl by z toho roman...
#!/bin/sh
# Prirazeni "vstupu" do promennych
odkud="$1"
kam="$2"
adresar="$3"
interval="$4" #hodina, den, tyden, mesic
archiv="$5" #rar, tgz
vlastnik="$6"
# Nastaveni default promennych
prava="7700"
error="0"
log="/var/log/zalohovani"
temp_file="/tmp/zaloha.$$"
# Kontroly prazdnosti vstupu
if [ -z "$odkud" ] ;
then error="1"
fi
if [ "$odkud"="/" ] ; # v pripade cesty "/" by to nechodilo..
then
odkud=""
error="0"
fi
if [ -z "$kam" ] ;
then error="1"
fi
if [ -z "$adresar" ] ;
then error="1"
fi
if [ -z "$interval" ] ;
then error="1"
fi
if [ -z "$archiv" ] ;
then error="1"
fi
if [ -z "$vlastnik" ] ;
then error="1"
fi
# Test existence cest potrebnych pro beh...
if [ -d /tmp ] ;
then :
else error="1"
fi
if [ -d "$odkud/" ] ;
then :
else error="1"
fi
if [ -d "$kam" ] ;
then :
else error="1"
fi
# Budem pokracovat v zalohovani, nebo ne?
# -----------------------------------------------------
# Nasledujici if je spatny a nechodi, jak ma - vubec to neporovnava - zrejme se to dela jinak a ja nevim jak... Ten exit 1 jsem docasne vypnul, abych vedel, jak se to chova dal, kdyz uz to davam na forum...
# -----------------------------------------------------
if [ "$error"="0" ] ;
then echo "tady stop :/ - $error"
echo "Zaloha adresare $odkud/$adresar nebyla provedena. Zkontrolujte syntax prikazu a existenci pocatecni a cilove cesty..." >> "$log"
#exit 1
fi
# kontrola existence struktury pro zalohovani a pripadne jeji vytvoreni...
cd "$kam"
if [ -d "$kam/$adresar" ] ;
then :
else
mkdir "$adresar"
chmod "$prava" "$adresar"
chown "$vlastnik" "$adresar"
chgrp "$vlastnik" "$adresar"
fi
cd "$kam/$adresar"
if [ -d "$kam/$adresar/$interval" ] ;
then :
else
mkdir "$interval"
chmod "$prava" "$interval"
chown "$vlastnik" "$interval"
chgrp "$vlastnik" "$interval"
fi
# Urceni toho, co se ma zalohovat...
cd "$odkud/"
case $interval in
hodina)
echo ""
# -----------------------------------------------------
# Tady musim doplnit find pro hledani souboru starych jen 1 hodinu... Pokud mi chcete ulehcit praci, doplnte ho. V opacnem pripade se budu snazit dal - man find
# -----------------------------------------------------
;;
den)
find "$adresar" -mtime -1 \! -type d -print > "$temp_file"
;;
tyden)
find "$adresar" -mtime -7 \! -type d -print > "$temp_file"
;;
mesic)
cd "$odkud/"
;;
*)
echo "Zaloha adresare $odkud/$adresar nebyla provedena (chybny interval)" >> "$log"
exit 1
esac
# -----------------------------------------------------
# Az sem to chodi slusne (pokud pominu ten if na zacatku) - myslim, ze to dela to co chci (pokud jsem neco neprehledl). Je mozne, ze tam neco taky najdete, nebot nemuzu odzkouset, ze to chodi, tak jak ma... Dal uz to pravdepodobne nechodi...
# -----------------------------------------------------
# Redukce starsich zaloh...
cd "$kam/$adresar/$interval"
redukuj() {
x="$1"
y="$x" # kvuli tomu, abych vedel, zda mam mazat...
while [ "$x" -ge 0 ]; do
if [ "$x"=="$y" ] ;
then
if [ -e "$kam/$adresar/$interval/$x-zpet.$archiv"]
then rm -f "$kam/$adresar/$interval/$x-zpet.$archiv"
fi
if [ -e "$kam/$adresar/$interval/$x-zpet.wri"]
then rm -f "$kam/$adresar/$interval/$x-zpet.wri"
fi
else
if [ -e "$kam/$adresar/$interval/$x-zpet.$archiv"]
then
mv "$kam/$adresar/$interval/$x-zpet.$archiv" "$kam/$adresar/$interval/$(expr $x + 1)-zpet.$archiv"
fi
if [ -e "$kam/$adresar/$interval/$x-zpet.wri"]
then
mv "$kam/$adresar/$interval/$x-zpet.wri" "$kam/$adresar/$interval/$(expr $x + 1)-zpet.wri"
fi
fi
x=$(expr $x - 1)
done
}
case $interval in
hodina) redukuj 23
;;
den) redukuj 6
;;
tyden) redukuj 3
;;
mesic) redukuj 2
esac
# Vytvoreni zalohy
cd "$odkud/"
case $interval in
mesic)
if [ "$archiv"="tgz"]
then tar -czf "$kam/$adresar/$interval/1-zpet.$archiv $adresar"
fi
if [ "$archiv"="rar"]
then :
fi
;;
*)
if [ -e "$temp_file"]
then
if [ "$archiv"="tgz"]
then tar -cz -T "$temp_file" -f "$kam/$adresar/$interval/1-zpet.$archiv"
fi
if [ "$archiv"="rar"]
then
fi
mv "$temp_file" "$kam/$adresar/$interval/1-zpet.wri"
else
echo "Zaloha adresare $odkud/$adresar nebyla provedena. Nenalezen seznam souboru k zalohovani ($temp_file)" >> "$log"
exit 1
fi
esac
# -----------------------------------------------------
# A taky jeste musim nejak udelat, aby se mi v logu zobrazil i "datum hodina" - hlaska (zatim je tam pouze ta hlaska)
# -----------------------------------------------------
Jeste jednou predem diky vsem zucastnenym!
] v testu musí být mezera.
2. Tělo then ... fi nemůže být prázdné.
if [ "$error"="1" ] ;
then echo "tady stop :/ - $error"
echo "Zaloha adresare $odkud/$adresar nebyla provedena. Zkontrolujte syntax prikazu a existenci pocatecni a cilove cesty..." >> "$log"
#exit 1
fi
.
.
.
redukuj() {
x="$1"
y="$x" # kvuli tomu, abych vedel, zda mam mazat...
while [ "$x" -ge 0 ]; do
if [ "$x"=="$y" ] ;
then
if [ -e "$kam/$adresar/$interval/$x-zpet.$archiv" ]
then rm -f "$kam/$adresar/$interval/$x-zpet.$archiv"
fi
if [ -e "$kam/$adresar/$interval/$x-zpet.wri" ]
then rm -f "$kam/$adresar/$interval/$x-zpet.wri"
fi
else
if [ -e "$kam/$adresar/$interval/$x-zpet.$archiv" ]
then
mv "$kam/$adresar/$interval/$x-zpet.$archiv" "$kam/$adresar/$interval/$(expr $x + 1)-zpet.$archiv"
fi
if [ -e "$kam/$adresar/$interval/$x-zpet.wri" ]
then
mv "$kam/$adresar/$interval/$x-zpet.wri" "$kam/$adresar/$interval/$(expr $x + 1)-zpet.wri"
fi
fi
x=$(expr $x - 1)
done
}
Tiskni
Sdílej: