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.010 seconds, 14 queries executed ]

Informacje debugowania

Time (s) Query
0.00010 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00092 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.145.170.226' WHERE u.id=1
0.00079 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.145.170.226', 1734522718)
0.00038 SELECT * FROM punbb_online WHERE logged<1734522418
0.00072 DELETE FROM punbb_online WHERE ident='185.191.171.19'
0.00059 DELETE FROM punbb_online WHERE ident='85.208.96.195'
0.00077 DELETE FROM punbb_online WHERE ident='85.208.96.199'
0.00073 SELECT topic_id FROM punbb_posts WHERE id=260005
0.00005 SELECT id FROM punbb_posts WHERE topic_id=25431 ORDER BY posted
0.00062 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.00008 SELECT search_for, replace_with FROM punbb_censoring
0.00129 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.00072 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=25431
Total query time: 0.0078 s