Portál AbcLinuxu, 7. května 2025 12:21
0 * * * *Skript se pusti kazdou hodinu v celou. Skript:
#!/bin/bash DATE=$(date '+%Y-%m-%d-%H') PATH="/media/M2_disk_1TB/KAMERY/KURNIK/video-$DATE.mkv" ffmpeg \ -rtsp_transport tcp \ -i rtsp://192.168.1.149:554/user=admin_password=xxxx_channel=1_stream=0.sdp?real_stream \ -codec:v copy \ -an \ -t 00:60:00 \ $PATH
Děkují moc, ale to mi pojede 24 hod. Mi stači 6-14. Zbytečně to bude žrat misto. 1 hodina je 1GBNo tak si dej na začátek podmínku že skript skončí pokud date +%H není v povoleném rozsahu.
0 0 15 * * ? ffmpeg -rtsp_transport tcp -i rtsp://192.168.1.149:554/user=admin_password=xxxxx_channel=1_stream=0.sdp?real_stream -codec:v copy -an -t 01:00:00 /media/M2_disk_1TB/KAMERY/KURNIK/`date '+%Y-%m-%d-%H-%M-%S'`.mkvNikdy jsem neviděl otazník ale možná je to validní, každopádně problém bude imho v tom, že cron nespouští své řádky způsobem, kdy by se expandovaly subpříkazy (to co je v ``). Osobně do crontabu nerad dávám složité konstrukce, vytvořím si skript na disku a volám ten.
No tak si dej na začátek podmínku že skript skončí pokud date +%H není v povoleném rozsahu.Pozor na chyták, že +%H je hodina s nulou na začátku, tedy například v 9 ráno je to 09, a standardní [ má tendenci to interpretovat jako číslo v osmičkové soustavě a pak řekne že to nejde načíst, protože 9 v osmičkové soustavě není. Asi by pomohlo date +%_H nebe +%k, ale jenom jsem si to přečetl v manuálu, použil jsem to možná jednou v životě.
0 0 16 * *
znamená
# m h dom mon dow 0 0 16 * *a dneska není 16. den v měsíci a jednak tam kde máš otazník nedávám buď nic (v případě uživatelského crontabu, tj. to co edituješ crontab -e) nebo jméno uživatele (v případě systémového crontabu v /etc). (pak ještě hypoteticky skript může postrádat právo spouštění +x, a jinak by to mohlo být vidět v syslogu co se mu nelíbí)
# m h dom mon dow 0 6-14 * * * /home/pi/skripty/kurnik1Ta odkazovaná stránka je nějaký jiný cron, standardní cron neumí sekundy (proto jsi tam měl o sloupec víc).
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.