2010-11-15 7 views
13

के साथ सिंक करता है क्या कोई बैश स्क्रिप्ट और/या डिमन है जिसे मैं लिख सकता हूं जो एक विशिष्ट यूएसबी ड्राइव का पता लगाएगा और फिर उस ड्राइव को निर्देशिका के साथ सिंक करेगा?बैच स्क्रिप्ट का पता लगाने के लिए कि जब मेरा यूएसबी प्लग इन होता है और उसके बाद उसे निर्देशिका

उत्तर

6

मैं इसे अपने आप के लिए क्या किया नहीं है, लेकिन आप udev नियम इस तरह की कोशिश कर सकते हैं: यह /etc/udev/rules.d/90-local.rules या इसी तरह की जगह है, निश्चित रूप से अपने ओएस पर भरोसेमंद में

# Hitachi SimpleDrive mini, model HTS545050B9A300 (500 GB USB HDD) 
SUBSYSTEM=="block", ATTR{size}=="976768002", ATTRS{product}=="SimpleDrive mini", ATTRS{serial}=="2512009121920487", ACTION=="add", RUN+="/lib/udev/local.usb.hdd.sh add $devpath" 

प्लेस।

+0

क्या यूयूआईडी का उपयोग करना संभव है और उन सभी विशेषताओं से दूर रहना संभव है? – Cascabel

+0

क्षमा करें, मुझे नहीं पता - यह अभी तक मेरी खुद की टोडो सूची पर है :) –

2

यहां an example पायथन डेमॉन है जिसे आप सुनने के हिस्से के लिए उपयोग कर सकते हैं, फिर फ़ाइलों को अपनी निर्देशिका में कॉपी करना कोई समस्या नहीं होनी चाहिए।

18

भविष्य के संदर्भ के लिए, यहां यूएसबी ड्राइव का पता लगाने पर बैश स्क्रिप्ट चलाने का तरीका बताया गया है।

डिवाइस की जानकारी पुनर्प्राप्त करने के लिए अपने डिवाइस से कनेक्ट करें और lsusb चलाएं। आप इस के लिए कुछ इसी तरह देखना चाहिए:

$ lsusb 
Bus 002 Device 039: ID 0bc2:2100 Seagate RSS LLC 

इस मामले में, डिवाइस के विक्रेता ID 0bc2 है और उत्पाद आईडी 2100

अब आप का उपयोग कर अपने udev नियम बना सकते हैं आपकी पसंद का एक टेक्स्ट एडिटर।

$ sudo vi /etc/udev/rules.d/85-my_usb_device_rule.rules

और इस जोड़ें:

कार्रवाई == सबसिस्टम "जोड़ें", == " यूएसबी ", sysfs {idVendor} ==" 0bc2 ", sysfs {idProduct} ==" 2100 ", भागो + ="/घर/MyHome/my_script "

/home/myhome/my_script अपनी स्क्रिप्ट के लिए पथ है जो यह जो कुछ भी आप चाहते हैं वह करेगा।

$ sudo udevadm नियंत्रण --reload-नियम

यह फेडोरा पर परीक्षण किया गया था:

यकीन है कि पता लगाने स्क्रिप्ट अभी निष्पादित करेंगे, udev नियम को फिर से लोड करने के लिए इस आदेश चला बनाने के 14.

+6

मैंने क्रंचबैंग लिनक्स 11 (वाल्डोर्फ) [डेबियन आधारित] के साथ इसका इस्तेमाल किया, लेकिन मुझे 'SYSFS' को 'ATTR' में बदलना पड़ा यह काम करने के लिए। इस लड़के ने udev डीबगिंग की एक अच्छी विधि पोस्ट की ... http://www.jpichon.net/blog/2011/12/debugging-udev-rules/ – neildaemond

संबंधित मुद्दे