मैं अपने Ubuntu सर्वर 16.04 के लिए एक Windows Server 2012 अनिवार्य से एक विभाजन विभाजन माउंट करने की कोशिश कर रहा हूँ। जब मैं कमांड चलाता हूं तो /sbin/mount.cifs //192.168.0.2/d$/Dropbox/0-sbezavel02/dados/ /dados/sbezavel02 -o vers=2.1,username=foo,password='foobar'
यह ठीक काम करता है और मैं विंडोज़ सर्वर (आईपी 192.168.0.2) से फ़ाइलों को अपने लिनक्स सर्वर पर कॉपी करने में सक्षम हूं। मुझे अपनी बैकअप दिनचर्या के लिए स्क्रिप्ट में ऐसा करने की आवश्यकता है। हालाँकि, मैं इसे अपने शेल स्क्रिप्ट में काम नहीं कर सकता। स्क्रिप्ट कमांड को चलाने में सक्षम नहीं है /sbin/mount.cifs //192.168.0.2/d$/Dropbox/0-sbezavel02/dados/ /dados/sbezavel02 -o vers=2.1,username=foo,password='foobar'
। मुझे यह पता है क्योंकि अगर मेरे पास पहले से ही रास्ता है, तो बैकअप आसानी से चलेगा, कोई बात नहीं। लेकिन, अगर मैंने नहीं किया है, तो बैकअप को रास्ता नहीं मिलेगा और यह काम नहीं करेगा। मैं यह देखने के लिए एक चेकअप भी करता हूं कि क्या यह माउंटिंग के ठीक बाद निम्न कमांड के साथ ठीक है:
cat /dados/sbezavel02/montado-sbezavel01.txt >> /dados/conf-sbezavel01.txt
और यह भी काम नहीं करता है ... इसलिए मेरी स्क्रिप्ट का यह हिस्सा इस प्रकार है:
/sbin/mount.cifs //192.168.0.2/d$/Dropbox/0-sbezavel02/dados/ /dados/sbezavel02 -o vers=2.1,username=foo,password='foobar' 1>> $log_backup 2>> $log_erro
sleep 10
cat /dados/sbezavel02/montado-sbezavel01.txt >> /dados/conf-sbezavel01.txt
किसी को भी पता है कि यहाँ क्या समस्या हो सकती है?
cron
? इसका चलाने का वातावरण सामान्य bash
इंटरैक्टिव वातावरण से बहुत अलग हो सकता है।
#backup-1a5 00 21 * * 1-5 . /dados/bin/backup-completo-1a5 1>/dev/null
#backup-1a5
शेष प्रविष्टि के ऊपर की रेखा पर है। एक त्वरित परीक्षण दिखाता है कि कमांड के .
रूप में काम नहीं करता है crontab
: यदि आप किसी फ़ाइल पर रीडायरेक्ट करते हैं और 2>&1
कमांड लाइन के अंत में जोड़ते हैं , तो आपको त्रुटि संदेश दिखाई देगा।
root
विशेषाधिकारों के साथ चलती है ? ये आम तौर पर एक फ़ाइल सिस्टम को माउंट करने के लिए, या उपयोगिताओं में से किसी का उपयोग करने के लिए आवश्यक होगा/sbin
।