Temat: Szukanie napisów co godzinę dla filmów i seriali w danych katalogach
Mam nadzieję, że się nie powtarzam i ktoś nie napisał już tego przede mną. ![]()
Krok 1 - Zainstaluj paczkę napiprojekt
Najpierw potrzebujesz p7zip:
opkg install http://ecco.selfip.net/backfire/packages/p7zip_9.13-3_ar71xx.ipkTeraz napiprojekt:
opkg install http://eko.one.pl/openwrt/backfire/10.03/napiprojekt_6_ar71xx.ipkKrok 2 - Napisz skrypt przeszukujący katalogi w poszukiwaniu filmów i odcinków bez napisów
Stwórz nowy plik:
touch /usr/bin/napisy.shDzięki utworzeniu go w tym katalogu będzie można go wywołać z dowolnego miejsca w systemie.
Nadaj mu uprawnienia do wykonywania:
chmod +x /usr/bin/napisy.shEdytuj plik
nano /usr/bin/napisy.shW treści wprowadź:
#!/bin/sh
# Przejrzyj po kolei wymienione katalogi
for katalog in /srv/filmy /srv/seriale
do
# Znajdz wszystkie pliki avi, wypisz pelna sciezke: 1 linia = 1 plik, wczytuj po jednej linii do zmiennej
# Uzycie read zabezpiecza przed sytuacja w ktorej w nazwie pliku wystepuja spacje
find $katalog -name "*.avi" | while read plik_z_filmem
do
# Zamien rozszerzenie avi na txt, zeby utworzyc nazwe pliku z napisami do danego filmu
plik_z_napisami=$(dirname "$plik_z_filmem")/$(basename "$plik_z_filmem" .avi).txt
# Jesli nie istnieje plik z napisami
if [ ! -e "$plik_z_napisami" ]
then
# Szukaj napisow dla danego pliku
napiprojekt "$plik_z_filmem"
fi
done
doneKrok 3 - Zaplanuj wykonywanie skryptu w cronie
Aby wywoływać skrypt co godzinę, edytuj plik /etc/crontab/root za pomocą
nano /etc/crontab/root i dodaj tę linijkę:
* */1 * * * napisy.shPodobno dobrze po tym jest zresetować crona:
/etc/init.d/cron restartTo by było na tyle. Uwagi, pomyłki, zażalenia? ![]()