Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2014-03-14 09:36:25

  brekofra - Użytkownik

brekofra
Użytkownik
Skąd: Jordanów (małopolska)
Zarejestrowany: 2011-04-24

Automatyczne uruchomienie skryptu z pendrive

Potrzebna mi pomoc w uruchomieniu skryptu na serwerze synology.

Cel : Automatyczne montowanie katalogu szyfrowanego po wpięciu pendriva a po jego usunięciu odmontowanie katalogu.

Polecenie służące do montowania to:

Kod:

synoshare --enc_mount nazwa_katalogu 30-znakowyklucz

Odmontowanie to:

Kod:

synoshare --enc_unmount nazwa_katalogu

Pomyślałem że do tego da się wykorzystać udev który po wykryciu pendriva wykona skrypt (skrypt umieszczony na pendrivie)

Przydało by się żeby skrypt sprawdzał vendor i id nośnika (zabezpieczenie przed skopiowaniem skryptu na inny nośnik)

Przyznam że szukam cały czas info jak to zrobić i czytam o AWK i print znalazłem też coś podobnego wykorzystywanego do automatycznego kopiowania plików z nośnika na dysk:

Kod:

ACTION=="add", SUBSYSTEMS=="usb", KERNEL=="sd?", SYMLINK+="start", RUN+="/home/art/bin/copyusb.sh"

Nie bardzo wiem jak to w całość poskładać Może ktoś zna się lepiej na tym i jest mi w stanie choć trochę pomóc ?

Ostatnio edytowany przez brekofra (2014-03-14 09:37:33)

Offline

 

#2  2014-03-14 09:41:12

  brekofra - Użytkownik

brekofra
Użytkownik
Skąd: Jordanów (małopolska)
Zarejestrowany: 2011-04-24

Re: Automatyczne uruchomienie skryptu z pendrive

Nie wiem czy dobrze to napisałem Proszę o sprawdzenie


Kod:

ATTRS{idVendor}=="XXXX", ATTRS{idProduct}=="XXXX", ACTION=="add", RUN+="/bin/bash -c /volume/usbshare/usb1/add.sh"
ATTRS{idVendor}=="XXXX", ATTRS{idProduct}=="XXXX", ACTION=="remove", RUN+="/bin/bash -c /etc/udev/remove.sh"

add.sh

Kod:

#!/bin/bash
synoshare --enc_mount nazwa_katalogu 30_znakowy_klucz

remove.sh

Kod:

#!/bin/bash
synoshare --enc_unmount nazwa_katalogu

Podpieram się tym [url]http://netbit73.blogspot.com/2012/03/udev-restart-serwera-tv-headend-po.html[/url]

Ostatnio edytowany przez brekofra (2014-03-14 10:08:33)

Offline

 

#3  2014-03-14 10:27:00

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Automatyczne uruchomienie skryptu z pendrive

Jak chcesz pisać reguły dla udeva to musisz korzystać z udevadm. Zapoznaj się z wynikami poleceń:

Kod:

# udevadm info --name=/dev/sdb --attribute-walk

# udevadm test /devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5:1.0/host2/target2:0:0/2:0:0:0/block/sdb

Pierwsze ci wyrzuca info na temat urządzenia, a drugie testuje reguły które napisałeś dla danego urządzenia. Te ścieżkę ci wyrzuci w wyniku tego pierwszego polecenia. Jak zadziała to

Kod:

udevadm control --reload-rules

i możesz ponownie wsadzić pena.

Tu chyba nikt się nie zna na udevie, także ciężko będzie jak nie zadziała, bo ja też się dopiero zapoznaje z nim i za bardzo jeszcze się nie orientuję co i jak. xD

Offline

 

#4  2014-03-14 13:04:22

  brekofra - Użytkownik

brekofra
Użytkownik
Skąd: Jordanów (małopolska)
Zarejestrowany: 2011-04-24

Re: Automatyczne uruchomienie skryptu z pendrive

No dobra nie ma udev tylko mdev i nie jest to takie proste ...

Jest mo sposb  wykryciu dysku usb zmusić serwer synology do uruchomienia skryptu ?

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.016 seconds, 9 queries executed ]

Informacje debugowania

Time (s) Query
0.00015 SET CHARSET latin2
0.00007 SET NAMES latin2
0.00261 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.146.65.205' WHERE u.id=1
0.00210 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.146.65.205', 1734514981)
0.00086 SELECT * FROM punbb_online WHERE logged<1734514681
0.00173 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=25431 AND t.moved_to IS NULL
0.00031 SELECT search_for, replace_with FROM punbb_censoring
0.00372 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=25431 ORDER BY p.id LIMIT 0,25
0.00190 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=25431
Total query time: 0.01345 s