Hogyan lehet beállítani automatikusra egy link letöltését linux rendszeren?
Azt szeretném megcsinálni linux vps szerveremen, hogy egy weboldalról ahová fel van töltve egy film (pl:clipwat....) annak automatikusan letöltse a direct linkjét.
Lehet, hogy nem megoldható vagy csak én nem jövök rá hogyan kell, de remélem tudtok nekem ebben segíteni.
A legjobb lenne az ha naponta le tudná szedni a linket és azt el mentené egy "strm" fájlba vagy "txt"-be. Esetleg van erre valamilyen parancs az automatikát azt megtudnám szerintem oldani.
Sorry, egy lényeges részlet kimaradt, így a helyes:
filename=""
while IFS= read -r line; do
if [[ !($line =~ ".") ]]; then
filename=$line
else
echo $line >> "${filename}.strm"
filename=""
fi
done <<< $(wget -qO- -i list.txt | grep -Eo 'Watch video [^"]+|https[^\"]+.mp4' | cut -d' ' -f 3-)
Nagyon szépen köszönöm! Még annyi kérdésem lenne, hogy tegnap beállítottam a crontab -e-vel, hogy automatikusan törölje a gyorsítótárat és inditsa újra az emby servert óránként. Tegnap tökéletesen működött de ma már nem.
az lehetett a baj, hogy nem "sudo crontab -e" paranccsal csináltam?
Ma megcsináltam "sudo crontab -e" paranccsal ami elvileg így kap rendszergazdai jogosultságot is. Szerinted így fog működni most már az időzítés vagy tudsz esetleg jobb módszert rá?
Sajnos eddig sosem használtam cron-t, de írd le a parancsokat amiket használtál, és meglátjuk. Ha sudo-val szerkeszted a crontab-et, akkor azzal a rendszergazda felhasznaló automatikusan futtatott programjait állítod be. Erre nincs szükség, ha egyébként a te felhasználóddal is meg lehet csinálni ami neked kell.
Pl. ez minden reggel 4 óra 0 perckor lefuttatja a scriptet:
0 4 * * * /utvonal/a/scripthez
Ha már itt tartunk, át kéne írni, hogy a régi fájlokat felülírja, és ne hozzáírjon, ezt elrontottam:
filename=""
while IFS= read -r line; do
if [[ !($line =~ ".") ]]; then
filename=$line
else
echo $line > "${filename}.strm"
filename=""
fi
done <<< $(wget -qO- -i list.txt | grep -Eo 'Watch video [^"]+|https[^\"]+.mp4' | cut -d' ' -f 3-)
Be állítottam a list.txt útvonalát de nem tudom, hogy hová tölti le a fájlt vagy igazábol lehet nem is tölti le :\
azt irja, hogy:
"-bash: /utvonal/filmek.py: /usr/bin/python^M: bad interpreter: No such file or directory"
AZ /utvonal/- a mappa amiben tárolom ezeket a fájlokat.
Végül ez maradt bash script, nem python, bocsi, ha nem volt világos. Igen, felülírja a fájlokat, így azokban nem marad benne a régebbi link. A fájlokat oda menti, ahonnan éppen futtatod a script-et, ha máshova akarod, akkor az abszolút útvonalat írd be, pl:
filename=""
while IFS= read -r line; do
if [[ !($line =~ ".") ]]; then
filename=$line
else
echo $line > "/abszolut/utvonal/${filename}.strm"
filename=""
fi
done <<< $(wget -qO- -i list.txt | grep -Eo 'Watch video [^"]+|https[^\"]+.mp4' | cut -d' ' -f 3-)
A legegyszerűbb az lenne, ha az első sorba raknál egy shebang így:
#!/usr/bin/env bash
filename=""
while IFS= read -r line; do
if [[ !($line =~ ".") ]]; then
filename=$line
else
echo $line > "/abszolut/utvonal/${filename}.strm"
filename=""
fi
done <<< $(wget -qO- -i list.txt | grep -Eo 'Watch video [^"]+|https[^\"]+.mp4' | cut -d' ' -f 3-)
Aztán futtathatóvá tennéd ezzel a paranccsal:
chmod +x script.sh
Ezután tudod futtatni ezzel a paranccsal:
/abszolut/utvonal/script.sh
További kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!