सवाल मेरी अपस्टार्ट स्क्रिप्ट क्यों नहीं चलती है?


मुझे समझ में नहीं आता कि मेरी स्क्रिप्ट क्यों नहीं चल रही है। यहां मैंने जो किया है (मैं उबंटू 10.04 का उपयोग कर रहा हूं)।

मैंने एक mountFTP.conf स्क्रिप्ट लिखी है:

description     "Mount the remote FTP for sync"

start on started tty1

task
script
curlftpfs ftp://admin:123456@195.78.27.45 /FTP/
end script

मैंने स्क्रिप्ट को / etc / init / फ़ोल्डर में सेव किया है। अगर मैं "सेवा माउंटएफटीपी स्टार्ट" कमांड का उपयोग करता हूं तो यह काम करता है, लेकिन यह बूट पर स्वचालित रूप से प्रारंभ नहीं करना चाहता ...

मैंने भाग्य के साथ "स्ट्रैटअप पर स्ट्रैट" के साथ भी कोशिश की। मैंने यह जांचने के लिए स्क्रिप्ट में कुछ लॉग भी जोड़ा है कि यह निष्पादित है या नहीं, और यह बिल्कुल निष्पादित नहीं है।


3
2017-11-15 14:11


मूल


क्या tty1 पहले ही शुरू हो चुका है? क्या होता है यह देखने के लिए अपनी स्क्रिप्ट में कुछ लॉगिंग करने का प्रयास करें ... - Frantique
मुझे लगता है कि आपने "स्ट्रैटअप पर स्ट्रैट" के बजाय "स्टार्टअप पर शुरू करें" टाइप किया था? - Nanne
शायद वह अपस्टार्ट-जॉब को अपनी लिपि से लिंक नहीं करता था। मेरा जवाब देखें - Frantique


जवाब:


इन कदमों का अनुसरण करें:

sudo chown root:root yourscript.conf  
sudo chmod 644 yourscript.conf  
sudo mv yourscript.conf /etc/init  
cd /etc/init.d  
sudo ln -s /lib/init/upstart-job yourscript  

2
2017-11-15 14:23



धन्यवाद, मैंने सोचा कि यह tty1 सेवा के बाद शुरू होगा। तो मैंने "रनलेवल [2345] पर शुरूआत" की कोशिश की लेकिन यह अभी भी शुरू नहीं होगा - lucas
हां यह मेरी लिपि में "स्टार्टअप पर शुरू" था। मैं अपनी लिपि पर मालिक और अनुमति की जांच करता हूं और यह पहले से ही ठीक था। मैंने init.d में symlink जोड़ने की भी कोशिश की लेकिन यह मदद नहीं करता है। बहुत अजीब - lucas
ठीक है मुझे अंततः समाधान मिला! मैंने अपनी स्क्रिप्ट में निम्न पंक्ति का उपयोग किया: "प्रारंभ करें (स्थानीय-फाइल सिस्टम और नेट-डिवाइस-अप IFACE = eth1)" मुझे अभी भी पता नहीं है कि "रनलेवल [2345]" पर शुरू क्यों नहीं हुआ .. धन्यवाद आपकी मदद के लिए Frantique! - lucas
मुझे एक त्रुटि मिलती है: प्रतीकात्मक लिंक /etc/init/mysript.conf फ़ाइल बनाने में विफल रहा है - Igor G.


यह अपस्टार्ट के संस्करण की तरह दिखता है कि @ फ़ैंटिक उल्लेख केवल उबंटू के नवीनतम (13.10) संस्करण में उपलब्ध है। मेरी अधिकांश चीजें उससे बड़ी हैं।

एक और विकल्प है अपने आउटपुट को 'लॉगर' पर पाइप करना।

कुछ ऐसा करने का प्रयास करें:

description     "Mount the remote FTP for sync"

start on started tty1

task
script
curlftpfs ftp://admin:123456@195.78.27.45 /FTP/ | logger
end script

1
2018-03-08 01:38



मुझे समझ में नहीं आता कि यह क्या हल करना चाहिए। यह काम नहीं करता है। - Igor G.
'लॉगर' कमांड एसएसडीआईएन पर syslog पर प्राप्त डेटा लिखता है। आप सत्यापित कर सकते हैं कि 'लॉगर' चलाकर लॉगजर स्थापित किया गया है। यदि यह पथ (जैसे / usr / bin / logger) देता है, तो आपके पास यह है। यदि नहीं, तो आपको इसे इंस्टॉल करने की आवश्यकता होगी। - Aaron C. de Bruyn
एक का उपयोग कर कोई बिंदु नहीं script एक लाइन कमांड के लिए ब्लॉक करें। उपयोग exec बजाय। - Madbreaks