V souvislosti s nárůstem falešných webových stránek, které se vydávají za oficiální webové stránky Portálu občana, Portálu identity občana nebo Portálu veřejné správy, se Digitální a informační agentura (DIA) rozhodla urychlit přechod Národní identitní autority na jednotnou státní doménu gov.cz a identitaobcana.cz tak přešla na identita.gov.cz [tisková zpráva].
Byla vydána verze 0.5.18 open source správce počítačových her na Linuxu Lutris (Wikipedie). Přehled novinek v oznámení na GitHubu. Instalovat lze také z Flathubu.
I letos vychází řada ajťáckých adventních kalendářů. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2024. Pro programátory v Perlu je určen Perl Advent Calendar 2024. Pro programátory v TypeScriptu Advent of TypeScript. Pro zájemce o kybernetickou bezpečnost je určen Advent of Cyber 2024…
Organizace Software Freedom Conservancy (SFC) společně se svým členským projektem OpenWrt oznámila oficiální spuštění prodeje Wi-Fi routeru OpenWrt One vyrobeného ve spolupráci s Banana Pi. Cena je 89 dolarů nebo 68,42 dolarů jenom deska. Z každého prodeje jde 10 dolarů do fondu OpenWrt v Software Freedom Conservancy. Projekt OpenWrt představil plán na výrobu vlastního routeru letos v lednu při příležitosti 20. výročí projektu.
Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.15. Díky 294 přispěvatelům.
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 24.11 Stirk. Přehled novinek v Changelogu.
Byla vydána verze 0.82 telnet a ssh klienta PuTTY. Podrobnosti v přehledu nových vlastností a oprav chyb a Change Logu. Vypíchnuta je vylepšená podpora Unicode.
Vánoční RoboDoupě bude v sobotu 7. prosince. Na programu je Úvod do ESP-NOW nebo Netradiční použití H-můstků.
UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch OTA-7 Focal, tj. sedmé stabilní vydání založené na Ubuntu 20.04 Focal Fossa.
Resim nasledujici - mam hlavni adresar v kterém jsou podadresare do 3-4 urovne. V techto adresarich jsou mkv, ktere budou po rsyncu na sekundarnim storage konvertovany na mp4. Vzhledem k tomu, ze rsync se bude z hlavniho na sekundarni storage v pravidelne opakovat, protoze nove soubory neustale pribyvaji, hledam jak provest opakovany rsync tak, aby se nahraly pouze nove mkv a ne originalne rsyncovane, aktualne uz na sekundarnim storage prejmenovane na mp4. Jak na to?
ssh sekundární "ls -lr" > tmp1
, ls -lr > tmp2
, ... | sed -re "s/mp4/mkv/" | ...
, comm -3 tmp1 tmp2
).
Předpokládám, že na cílovém disku se mají původní .mkv
po konverzi na .mp4
smazat, jinak by celá otázka měla velmi triviální řešení (nemazat).
Inu, tady mě napadá ošklivé, prasácké, ale účinné řešení založené na rsync
: Místo mazání původní .mkv
ponechat na místě, ale zmenšit je (například pomocí truncate
) na nulu a obnovit jejich původní datum změny. Pak si rsync
bude myslet, že už tam jsou, ale zároveň nebudou zabírat místo. Při konverzi do .mp4
je pak potřeba odfiltrovat ty .mkv
, které mají nulovou velikost. Problém tohoto postupu: bitrot — Tedy nelze použít rsync -c (ze zjevných důvodů) a není tam vůbec žádná „end to end“ ochrana proti silent data corruption. Ale pokud jde jen a pouze o to „přeskočit“ už zpracované soubory, tohle by mohlo fungovat.
Gah. No to se mi povedlo, tahle↑ „rada“. Tohle je problém:
rsync
finds files that need to be transferred using a "quick check" algorithm (by default) that looks for files that have changed in size or in last-modified time.
Dobře, tak úplně jednoduše a „implicitně“ to nepůjde. Existuje sice --size-only
, ale není tam žádný ekvivalent --time-only
, který by pomohl v tomto případě.
Takže podle mě by mohlo být řešením --ignore-existing
(skip updating files that exist on receiver). To vypadá, že by to mohlo (správně) přeskočit přenos již zpracovaných .mkv souborů — pokud na cíli budou ponechané ty placeholdery zmenšené na nulu (kvůli úspoře místa).
#!/bin/bash # Directory to watch for new MKV files WATCH_DIR="/path/to/watch" # Loop to keep checking for new MKV files inotifywait -m -e create --format "%f" "$WATCH_DIR" | while read NEW_FILE do # Check if the new file is an MKV file if [[ "$NEW_FILE" =~ \.mkv$ ]]; then # Full path to the new MKV file MKV_FILE="$WATCH_DIR/$NEW_FILE" # Full path to the target MP4 file MP4_FILE="${MKV_FILE%.mkv}.mp4" # Convert the MKV file to MP4 using ffmpeg ffmpeg -i "$MKV_FILE" -codec:v libx264 -codec:a aac -strict experimental "$MP4_FILE" # Check if conversion was successful if [[ $? -eq 0 ]]; then # Remove the original MKV file after successful conversion rm "$MKV_FILE" echo "Converted and removed $MKV_FILE" else echo "Error converting $MKV_FILE" fi fi done
Tiskni Sdílej: