Šta je novo?

Pomoc. Pokretanje skripte preko systemd servisa?

TwistedMind

Slavan
Učlanjen(a)
30.05.2009
Poruke
7,043
Poena
485
Moja oprema  
CPU & Cooler
Intel i5-13600KF & Noctua NH-D15S chromax.black
Matična ploča
Gigabyte Z790M AORUS ELITE AX
RAM
Corsair VENGEANCE 32GB (2 x 16GB) DDR5 6000MHz C36
GPU
ASRock RX 6700 XT Challenger Pro 12GB OC
Storage
1TB Samsung 990 PRO NVMe M.2 SSD
Zvuk
FiiO K7 + HiFiMan Sundara, Soundpeats H1 TWS
PSU
Seasonic Prime PX 850W Platinum
Kućište
Cooler Master Storm Trooper
Monitor
2x ASUS MG279Q
Miš & tastatura
Logitech G502 LIGHTSPEED & Asus ROG Falchion MX Brown
Ostale periferije
Playstation 5
Mobilni telefon
Lenovo Z5
Pametni uređaji
Mobvoi TicWatch Pro 3 Ultra GPS
Pristup internetu
  1. Optički internet
Potrebna mi je pomoc kako da ovo nateram da radi. Potrebno mi je da po ubacivanju flasha u rpi, isti pkopira neke fajlove sa flasha u neki folder.
Koristeci poslednji post iz ove teme napravio sam
1. skriptu trigger.sh
Kod:
#!/bin/sh
cp /media/Jet/{video01.mkv,video02.mkv} /home/osmc/.kodi/userdata/video
done

ovo radi. kada pokrenem skriptu kopira fajlove (flash se zove jet).

2. unit copy.service u /etc/systemd/system
Kod:
[Unit]
Description=My flashdrive script trigger
Requires=media-Jet.mount
After=media-Jet.mount

[Service]
ExecStart=/home/osmc/.kodi/userdata/video/trigger.sh

[Install]
WantedBy=media-Jet.mount

3. uradio sam chmod u+x za skriptu

kada ubacim flash, servis se pokrene, ali nista ne uradi.
proverio sam status preko systemctl status copy.service i dobio ovo

Kod:
osmc@osmc:~$ systemctl status copy
* copy.service - My flashdrive script trigger
   Loaded: loaded (/etc/systemd/system/copy.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Tue 2018-07-24 23:07:30 CEST; 4min 52s ago
  Process: 903 ExecStart=/home/osmc/.kodi/userdata/video/trigger.sh (code=exited, status=2)
 Main PID: 903 (code=exited, status=2)

Jul 24 23:07:30 osmc systemd[1]: Started My flashdrive script trigger.
Jul 24 23:07:30 osmc trigger.sh[903]: cp: cannot stat '/media/Jet/{video01.mkv,video02.mkv}': No such file or directory
Jul 24 23:07:30 osmc trigger.sh[903]: /home/osmc/.kodi/userdata/video/trigger.sh: 3: /home/osmc/.kodi/userdata/video/trigger.sh: Syntax error: "done" unexpected
Jul 24 23:07:30 osmc systemd[1]: copy.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Jul 24 23:07:30 osmc systemd[1]: copy.service: Unit entered failed state.
Jul 24 23:07:30 osmc systemd[1]: copy.service: Failed with result 'exit-code'.

Jedino sto sam uspeo da nadjem sto bi moglo da utice je sto systemd radi kao root user, dok ja inace radi kao osmc posto je u pitanju kodi.

Nisam programer i nemam pojma linux. Ovo je delovalo dovoljno jednostavno pa sam probao, ali sada sam zaglavljen.
 
Ok, nasao sam resenje problema. CP komanda se zbuni zbog vise fajlova. Inace radi, ali preko ovog servisa se zbuni.
Potrebno je editovati skriptu
Kod:
#!/bin/sh
cp /media/Jet/video01.mkv /home/osmc/.kodi/userdata/video
cp /media/Jet/video02.mkv /home/osmc/.kodi/userdata/video
 
Mozes da probas sa /bin/bash za brace expansion.

Kod:
#!/bin/bash
set -B
cp /src/{file,file} /dest
 
Poslednja izmena:
Ili prosto asterisk? Menja bilo koji broj bilo kojih znakova.

cp /media/Jet/video*.mkv /home/osmc/.kodi/userdata/video
 
Da, taj odgovor sam dobio i na debian forumu pa sam update celu ideju.
Poenta je da se klipovi pustaju u loop cim se rpi ukljuci. Nazive sam koristio jer je originalno koriscena playlista, ali postoji super plugin koji pusta neki favorites folder i on resava par problema. Sada kada se pusta ceo sadrzaj foldera, nazivi nisu bitni.
Poslednja verzija je
Kod:
#!/bin/sh
sudo systemctl stop mediacenter
rm /home/osmc/Movies/folder/*
sudo cp /media/Jet/* /home/osmc/Movies/folder
sudo systemctl start mediacenter
Dakle, brise sve iz foldera i onda kopira sve sa flasha pa sve ispocetka
 
Nazad
Vrh Dno