मुझे नहीं पता कि लोग इस फ़ोल्डर में सामग्री कैसे अपलोड कर रहे हैं, लेकिन आप इनोटिफ़ाई के साथ निर्देशिका की निगरानी करने से कम तकनीक का उपयोग करना चाहेंगे।
यदि प्रोटोकॉल एफ़टीपी है और आपके पास अपने एफ़टीपी सर्वर के लॉग तक पहुंच है, तो मैं सुझाव देता हूं कि सफल अपलोड के लिए लॉग इन करने के लिए लॉग इन करें। इस प्रकार का इवेंट-ट्रिगर दृष्टिकोण पारंपरिक क्रॉन के साथ मतदान दृष्टिकोण से तेज़, अधिक भरोसेमंद और कम भार होगा, और अधिक पोर्टेबल और इनोटिफ़ाई का उपयोग करके कुछ डीबग करना आसान होगा।
जिस तरह से आप इसे संभालेंगे वह निश्चित रूप से आपके एफ़टीपी सर्वर पर निर्भर करेगा। मैं एक चल vsftpd जिसका लॉग शामिल लाइनों इस तरह है:
Fri May 25 07:36:02 2012 [pid 94378] [joe] OK LOGIN: Client "10.8.7.16"
Fri May 25 07:36:12 2012 [pid 94380] [joe] OK UPLOAD: Client "10.8.7.16", "/path/to/file.zip", 8395136 bytes, 845.75Kbyte/sec
Fri May 25 07:36:12 2012 [pid 94380] [joe] OK CHMOD: Client "10.8.7.16", "/path/to/file.zip 644"
UPLOAD
लाइन केवल जोड़ा जाता है vsftpd सफलतापूर्वक फ़ाइल को बचाया है। आप इस प्रकार का खोल स्क्रिप्ट में इस पार्स सकता है:
#!/bin/sh
tail -F /var/log/vsftpd.log | while read line; do
if echo "$line" | grep -q 'OK UPLOAD:'; then
filename=$(echo "$line" | cut -d, -f2)
if [ -s "$filename" ]; then
# do something with $filename
fi
fi
done
आप एक HTTP अपलोड टूल का उपयोग कर रहे हैं, अगर उस उपकरण यह आने वाले फ़ाइलें रिकॉर्ड करने के लिए उपयोग करता है एक पाठ लॉग फ़ाइल है देखते हैं। यदि यह किसी प्रकार के लॉगर फ़ंक्शन को जोड़ने पर विचार नहीं करता है, तो यह tail
पर लॉग उत्पन्न करेगा।
http://stackoverflow.com/questions/10366411/linux-triggering-shell-command-on-file-save –