Avatar billede der_kommandant Praktikant
08. juli 2015 - 08:58 Der er 6 kommentarer og
1 løsning

Cron job til FFmpeg på Linux Mint

Hjælp, jeg er ny indenfor cron-jobs. Jeg har en Linux Mint maskine, hvor jeg har forsøgt at skrive et cronjob, hvor jeg ved brug af programmet FFmpeg vil merge en lang række jpg.billeder til en mp4.fil.

Jeg har skrevet en make_video.sh fil, med følgende indhold:

#!/bin/sh
#Cron job til at lave video fra 5760 jpeg billeder
/usr/bin/ffmpeg -f image2 -r 50 -i image%05d.jpg -y -r 15 -s vga -vcodec libx264 /home/weatherserver/weather.mp4

Derefter har jeg tilrettet min crontab med følgende, så cronjobbet skulle afvikles hver nat kl. 00.05:

5 0 * * * /home/weatherserver/scripts/make_video.sh

Problemet er nu, at når jeg forsøger at køre min "make_video.sh" får jeg en fejlmeddelelse om "command not found"

Når jeg manuelt afvikler ovenstående FFmpeg-kommando i et terminalvindue, fungerer det fint.

Kan ikke gennemskue hvorfor det ikke virker - kan nogen hjælpe??
Avatar billede erikjacobsen Ekspert
08. juli 2015 - 09:20 #1
Er din make_video.sh med execute tilladelse (x) ?

Når du manuelt kører make_video.sh gør du det så med:  ./make_video.sh  ?
Avatar billede der_kommandant Praktikant
08. juli 2015 - 10:10 #2
Jeg har afviklet følgende i et terminalvindue:
chmod +x /home/weatherserver/Scripts/make_video.sh

Hvis jeg manuelt afvikler kommandoen "sudo make_video.sh" får jeg fejlmeddelelsen "command not found".

Jeg kan kun får FFmpeg til at virke, hvis jeg skriver følgende i en terminal: ffmpeg -f image2 -r 50 -i image%05d.jpg -y -r 15 -s vga -vcodec libx264 /home/weatherserver/weather.mp4
Avatar billede erikjacobsen Ekspert
08. juli 2015 - 10:45 #3
Behøver du sudo? Prøv een af de to:

sudo ./make_video.sh

./make_video.sh
Avatar billede der_kommandant Praktikant
08. juli 2015 - 10:58 #4
-> erikjacobsen

Super - nu ser det ud til at fungere. 
Jeg prøvede at forfølge dit første råd vedr. execute tilladelse, og det ser ud til at udfordringen lå her.

Nu spiller det bare - tak for hjælpen
Avatar billede erikjacobsen Ekspert
08. juli 2015 - 11:28 #5
Forklaringen på "./" er sjov, på sin vis.

Det aktuelle katalog, ".", er normalt ikke med i søgestien for kommandoer. Derfor kan den ikke finde din make_video.sh bare ved at skrive det.

Enten en relativ sti:  ./make_video.sh
Eller den fulde sti:  /home/weatherserver/scripts/make_video.sh

I crontab vil man altid bruge fuld sti, da man li'som ikke har noget at være relativ til.

Og skulle man være uheldig at komme fra DOS/Windows verdenen, så er reglerne nemlig anderledes i et cmd-vindue. Men Unix kom jo først.
Avatar billede der_kommandant Praktikant
08. juli 2015 - 13:23 #6
-> erikjacobsen

Send lige et svar, så uddeler jeg points :-)
Avatar billede erikjacobsen Ekspert
08. juli 2015 - 14:31 #7
Jeg samler slet ikke på point, tak.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester