क्या उपस्टार्ट सेवा के रूप में सबजीत को चलाने के लिए एक स्थापित विन्यास फाइल है?


0

ऐसा लगता है कि अपस्टार्ट चीजों को बंद करने और रिबूट प्रक्रिया के दौरान उन्हें शुरू करने का सही तरीका है, लेकिन मैं सबजीट प्रलेखन की खोज और वेब की एक सामान्य खोज के साथ कॉन्फ़िगरेशन फ़ाइलों को खोजने में विफल रहा।

मेरे मामले में प्रारंभ और स्टॉप कमांड निम्नानुसार सरल हैं, लेकिन उपयोगकर्ता नाम और रेपो पथ दोनों उपयोगकर्ता की स्थापना पर निर्भर करते हैं:

sudo -u subgit subgit install /dev.git    # start
sudo -u subgit subgit uninstall /dev.git  # stop

मैं /etc/init/subgit.conf (एसवीएन_आरईपीओएस / सबजीट में कॉन्फिडेंट / सबजिट.कॉन्‍फ के साथ भ्रमित नहीं होना) की एक कार्यशील कॉपी लागू करने वाला हूं और बेहतर जवाब लंबित रखूंगा।

नोट: SubGit तोड़फोड़ और Git ब्रिजिंग का एक विशेष कार्यान्वयन है।

जवाबों:


0

हालाँकि, स्टार्ट कमांड सरल है, यह एक जावा प्रोग्राम को कॉल करता है जो कुछ समय के लिए कांटा जाता है, जिससे अपस्टार्ट मुद्दे पैदा होते हैं। सौभाग्य से, जॉन्जमस्मिलर ने स्टैकऑवरफ्लो को इस प्रकार के मुद्दे के लिए वर्कअराउंड पोस्ट किया ।

हालांकि, उदाहरण के लिए पैरामीटर-उप-कमांड कमांड (सर्वर पर कई रिपोज को चलाने की अनुमति देता है) के लिए ऊपर की ओर आवरण प्रदान करने के लिए लगता है, एक 'उदाहरण-आधारित नौकरी का उपयोग करना यह स्वतः शुरू करने / रोकने के लिए अव्यावहारिक बनाता है। इसके बजाय, मैंने अपने रिपॉजिट के लिए /etc/rc.local (सबसे नीचे दिखाया गया है) के लिए स्टार्ट कमांड जोड़े हैं।

# subgit.conf - subgit job file

description "service for running SubGit mirroring"
author "Randy Sage"

# Note: because subgit forks too many times, normal upstart controls do not work
# Instead, use the method at https://stackoverflow.com/a/12217085/527489

# Run with subgit/gitshare ids, since we use shared gitshare access to repos
setuid subgit
setgid gitshare

instance $repo

pre-start exec subgit install $repo  # actually start

script  # dummy process tracking java app
  while ps aux |  grep "java.*$repo" | grep -v grep >/dev/null ; do
    sleep 1
  done
end script

post-stop script
  if ps aux |  grep "java.*$repo" | grep -v grep >/dev/null ; then
    subgit shutdown $repo
  fi
end script

यहाँ /etc/rc.local कमांड दिए गए हैं:

...
start subgit repo=/matlab.git
start subgit repo=/dev.git

exit 0

ध्यान दें कि सेवाएं इस तरह से शुरू हुईं initctl list, लेकिन वे service --status-allनिम्न नहीं हैं :

rsage@subgit:~$ initctl list | grep subgit
subgit (/dev.git) start/running, process 2974
subgit (/matlab.git) start/running, process 2507
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.