প্রশাসনিক সুবিধাসহ শুরুতে টমক্যাটটি শুরু করুন


23

সিস্টেমে লগ ইন করার আগে আমার একটি প্রক্রিয়া চালানো দরকার। কীভাবে এটি পরিষেবাগুলির মতো চালাবেন? আমি লিনাক্সে কীভাবে পরিষেবাগুলি তৈরি করব?

উবুন্টু এবং ফেডোরায়? পরিষেবাটি টমক্যাটটি কাস্টমাইজ করা হয়েছে


6
কীভাবে পরিষেবাগুলি শুরু করা লিনাক্স ডিস্ট্রোতে খুব শর্তযুক্ত। আপনি কী অর্জন করতে চাইছেন তা দয়া করে আমাদের জানান (এবং কী ডিসট্রো এবং সম্ভবত ডেস্কটপ পরিবেশ)
xenoterracide

উত্তর:


23

সিস্টেমে লগ ইন না করে বা আগে সার্ভিস চালানোর জন্য (যেমন "বুটে থাকা") আপনাকে একটি স্টার্টআপ স্ক্রিপ্ট তৈরি করতে হবে এবং এটি বুট সিকোয়েন্সে যুক্ত করতে হবে।
পরিষেবা স্ক্রিপ্টের তিনটি অংশ রয়েছে: শুরু করুন, থামুন এবং পুনরায় চালু করুন।
সার্ভিস স্ক্রিপ্টের প্রাথমিক কাঠামোটি হ'ল:

#!/bin/bash
#
RETVAL=0;

start() {
echo “Starting <Service>”
}

stop() {
echo “Stopping <Service>”
}

restart() {
stop
start
}

case “$1″ in
start)
  start
;;
stop)
  stop
;;
restart)
  restart
;;
*)

echo $”Usage: $0 {start|stop|restart}”
exit 1
esac

exit $RETVAL  

একবার আপনি নিজের পছন্দ অনুযায়ী স্ক্রিপ্টটি টুইট করেন, কেবল এটি /etc/init.d/ এ রাখুন
পরে, এবং এটি সিস্টেম পরিষেবা সূচনা প্রক্রিয়ায় যুক্ত করুন (ফেডোরায়, আমি উবুন্টু ব্যবহারকারী নই,> ডি):

chkconfig -add <ServiceName>  

সিস্টেম বুট আপ প্রক্রিয়াতে পরিষেবা যুক্ত করা হবে এবং আপনাকে এটি আর ম্যানুয়ালি আরম্ভ করতে হবে না।

চিয়ার্স!


2
নোট করুন যে শুরু করার সময়, থামাতে এবং পুনরায় চালু করার সময় সাধারণত সরল আরম্ভ স্ক্রিপ্টগুলির জন্য যথেষ্ট। আপনি সম্ভবত একটি 'স্ট্যাটাস' ক্রিয়াও অন্তর্ভুক্ত করতে চান, যা দেবিয়ান এবং অন্যান্য ডিস্ট্রোজে সহজেই এর ইন্ডি-ফাংশন প্যাকেজে স্ট্যাটাস_ও_প্রোক () অন্তর্ভুক্ত করে। ভাল পরিচালিত প্যাকেজগুলিতে এলএসবি দ্বারা প্রয়োজনীয় সমস্ত ফাংশন অন্তর্ভুক্ত করা হবে ( refspecs.freestandards.org/LSB_3.1.0/LSB- কোর- generic/… )। উবুন্টুতে টমকাট দিয়ে বিতরণ করা স্ক্রিপ্টে এই সমস্ত ক্রিয়া রয়েছে, এটি সম্ভবত এটি ব্যবহার করা বাজি।
স্টিভেন ডি

19

Init সিস্টেমের উপর নির্ভর করে আপনি আলাদাভাবে init স্ক্রিপ্ট তৈরি করেন। ফেডোরা আপনাকে বেছে নেওয়ার জন্য আপস্টার্ট এবং সিস্টেমেড দেয় এবং অবশ্যই SysV সামঞ্জস্যতা দেয়।

ভুঁইফোঁড়

  • হিসাবে পরিষেবা সংজ্ঞা ফাইল তৈরি করুন /etc/init/custom-tomcat.conf
  • ভিতরে রাখা:

    start on stopped rc RUNLEVEL=3
    respawn
    exec /path/to/your/tomcat --and --parameters
    

এবং আপনার টমক্যাটটি সিস্টেম শুরু হওয়ার পরে শুরু করা উচিত।

systemd

  • পরিষেবা সংজ্ঞা তৈরি করুন /etc/systemd/system/custom-tomcat.service
  • ভিতরে রাখা:

    [Service]
    ExecStart=/path/to/your/tomcat --and --parameters
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    

এবং ব্যবহার করে আপনার পরিষেবা সক্ষম করুন systemctl enable custom-tomcat.service। এটি প্রতিটি সাধারণ বুট শুরু হবে।

অবশ্যই উভয় init সিস্টেমের জন্য আরও কয়েকটি কনফিগারেশন বিকল্প রয়েছে, আপনি তাদের ডকুমেন্টেশনে যাচাই করতে পারেন।


7

টমক্যাট একটি মোটামুটি সাধারণ পরিষেবা, আমি ইতিমধ্যে ডিস্ট্রো দ্বারা সরবরাহ করা init স্ক্রিপ্টটি দেখার পরামর্শ দেব। সম্ভাবনা হ'ল এটি আপনার কাস্টমাইজড বাইনারি নিয়ে কাজ করে, সামান্য কিছুচিহ্ন ছাড়াই।


6

আপনার যদি cronডেমন থাকে তবে পূর্বনির্ধারিত ক্রোন সময় হুকগুলির মধ্যে একটি হ'ল @rebootযা সিস্টেম শুরু হওয়ার পরে স্বাভাবিকভাবে চলে। চালান crontab -eসম্পাদন করা আপনার crontabফাইল, এবং একটি লাইন যোগ করুন:

@reboot /your/command/here

এটি কি সমস্ত স্টার্টআপগুলিতে প্রযোজ্য, বা কেবল পুনরায় চালু হবে?
নটহাগো

এটি কেবলমাত্র ফ্র্যাক্রনের ক্ষেত্রেই প্রযোজ্য - ভিক্সি-ক্রোন বা অন্য কোনও ক্রোন আফ্রিক নয়।
ম্যাকিয়েজ পাইচোটকা

@ ম্যাসিজে এটি অবশ্যই ভিক্সি-ক্রনের জন্য কাজ করে;
এটিই

@ হুগো সমস্ত স্টার্টআপস
মাইকেল মরোজেক

6

কম্পিউটার শুরু হওয়ার পরে কোনও স্ক্রিপ্ট চালানোর জন্য তবে কোনও ব্যবহারকারী লগ ইন করার আগে আপনি কেবল /etc/rc.local স্ক্রিপ্ট সম্পাদনা করতে পারেন যা বোঝানো হয় ঠিক এই কাজটি সমাধান করার জন্য।


3

আপনি আরও পরিশীলিত স্ক্রিপ্ট তৈরি করতে পারেন যা আপনাকে নির্দিষ্ট ব্যবহারকারীর অনুমতিতে নীচে চলার অনুমতি দেয়:

#!/bin/sh
NAME=myservice
DESC="My Service"
USERGROUP="myservice:myservice"

#Helper functions
start() {
        start-stop-daemon --start --quiet --background --make-pidfile \
                --pidfile /var/run/$NAME.pid --chuid $USERGROUP \
                --exec /usr/local/bin/myservice
}

stop() {
        start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
                --exec myservice --retry 30
}

case "$1" in
  start)
        echo -n "Starting $DESC: "
        start
        echo "$NAME."
        ;;
  stop)
        echo -n "Stopping $DESC: "
        stop
        echo "$NAME."
        ;;
  restart)
        echo -n "Restarting $DESC: "
        #set +e
        stop
        #set -e
        #sleep 1
        start

        echo "$NAME."
        ;;
  *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop|restart}" >&2
        exit 1
        ;;
esac

exit 0

স্ক্রিপ্টটি /etc/init.d/myservice এ যায় এবং আপনি পরিষেবাটি চালু করে:

/etc/init.d/myservice start

এটি কীভাবে কাজ করে তা বুঝতে স্টার্ট-স্টপ-ডেমনে ম্যান পৃষ্ঠাটি পড়ুন।


1

উবুন্টু বা ডেবিয়ান এ আপনি যুক্ত করতে ব্যবহার করতে পারেন

update-rc.d your_service defaults

মুছে ফেলার জন্য

update-rc.d -f your_service remove

বিদায়! \ ণ

এলএসবি-সংকলক হতে ফাংশন স্থিতি এবং জোরপূর্বক পুনরায় লোড কার্যকর করতে চমৎকার


কীভাবে আমার ডেমনকে service --status-allতালিকায় উপস্থিত করবেন ?
নেকটভি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.