স্টার্টআপে আপস্টার্ট ব্যবহারকারী কাজগুলি চালানো


8

আমি উবুন্টু সার্ভার চালাচ্ছি ১১.০৪। আমি এখানে বর্ণিত হিসাবে একটি আপস্টার্ট ব্যবহারকারী কাজ তৈরি করেছি ।

আমার কাছে নিম্নলিখিত ফাইলটি রয়েছে /home/myuser/.init/sensors.conf:

start on started mysql
stop on stopping mysql


chdir /home/myuser/mydir/project
exec /home/myuser/mydir/env/bin/python /home/myuser/mydir/project/manage.py sensors

respawn

respawn limit 10 90

myuserআমি যেমন কাজ শুরু করতে, থামাতে এবং পুনরায় লোড করতে পারি - এটি নিখুঁতভাবে কাজ করে:

$ start sensors
sensors start/running, process 1332
$ stop sensors
sensors stop/waiting

সমস্যাটি হ'ল কাজটি বুট করার সময় স্বয়ংক্রিয়ভাবে শুরু হয় না mysql। একটি নতুন বুট পরে, mysqlচলমান কিন্তু আমার sensorsকাজ হয় না।

আশ্চর্যের বিষয়টি হল, যদিও এটি বুটআপে কাজটি শুরু হয় না, যদি আমি এটি sudoপুনরায় চালু করার জন্য ব্যবহার mysqlকরি তবে তা সত্যই আমার কাজ শুরু করে না। myuserএকটি নতুন প্রারম্ভ থেকে নিম্নলিখিত কমান্ডগুলি চালিত হয় :

$ status sensors
sensors stop/waiting
$ sudo restart mysql
mysql start/running, process 1209
$ status sensors
sensors start/running, process 1229

আপস্টার্ট ব্যবহারকারী কাজের জন্য ডকুমেন্টেশন বেশ সীমাবদ্ধ। সিস্টেমের শুরুতে একটি ব্যবহারকারী কাজ স্বয়ংক্রিয়ভাবে শুরু করার সঠিক কৌশলটি কী?

আমি জানি আমি কিছু নিক্ষেপ করতে পারেন rc.localএটা শুরু করার জন্য, অথবা আমি আমার সরাতে পারে sensors.confথেকে /etc/initকিন্তু আমি কৌতুহলী যদি শুধু ভুঁইফোড় ব্যবহার করে এটি করতে একটি উপায়।

উত্তর:


8

সমস্যাটি হ'ল ব্যবহারকারীর কাজগুলি আপস্টার্টে লোড করা হয় না যতক্ষণ না ব্যবহারকারী একটি initctlকমান্ড চালিয়ে একটি আপস্টার্ট সেশন তৈরি করে।

আমি এটিকে আরও বিস্তারিতভাবে http://bradleyayers.blogspot.com.au/2012/04/enabling-upstart-user-jobs-to-start-at.html এ বর্ণনা করেছি এবং পাশাপাশি একটি আপস্টার্ট কাজ লিখেছি যা প্রায় কাজ করে সমস্যা।


Upstart.ubuntu.com/cookbook/… এ এই ডকুমেন্টেশনটি করার আরও একটি উপায় আছে - এটির একটি ত্রুটি রয়েছে যদিও আপনাকে "শুরু সেশন_ইনিট" পরিবর্তন করতে হবে "সেশন- দীক্ষা শুরু করতে"।
natevw

-1

মত উৎসগুলি এ খুঁজছি /etc/init/mysql.confএবং http://upstart.ubuntu.com/cookbook/#start-on এটা আমার মনে হচ্ছে আপনি আপনার পরিবর্তন করা উচিত start onভালো কিছু করার জন্য লাইন:

start on (mysql and runlevel [2345])

আমি নিশ্চিত নই যে আমি একমত হয়েছি যে আপস্টার্টে ডকুমেন্টেশন নেই, তবে আমি নিশ্চিত কখনও কখনও ডক্স বুঝতে অসুবিধা হয়। আমি সাধারণত এটি কাজ না করা পর্যন্ত কেবল বিচার এবং ত্রুটি করি do উপরের সমাধানটি আসলে অতিরিক্ত ওভারকিল হতে পারে ... এর চেয়ে সহজ কিছু এটি যথেষ্ট হতে পারে:

start on mysql

এটি সাধারণভাবে নথিভুক্তির অস্তিত্ব নয়, এটি ব্যবহারকারীর চাকরী সম্পর্কিত / home/$USER/.init- এ রাখা চাকুরী (/ etc / init-এ চাকুরী নয়) সম্পর্কিত কোনও ডকুমেন্টেশন নেই।
dgel

আমি আপনার পরামর্শ চেষ্টা করেছিলাম কিন্তু কোন পার্থক্য নেই। এটি আমার start onলাইনের কোনও সমস্যা নয় , তবে এটি কেবল সত্য যে আপস্টার্ট কেবলমাত্র প্রারম্ভকালে / ইত্যাদি / $HOME/.init
আরডি

দুঃখিত, মিস করেছেন যে এটি একটি ব্যবহারকারীর কাজ এবং চাকরী নয় /etc/init। আপনি সঠিক বলেছেন যে ডকুমেন্টেশনের ক্ষেত্রে এর অভাব রয়েছে বলে মনে হচ্ছে এবং কীভাবে ~/.initস্ক্রিপ্টগুলি শুরু হবে তা নিশ্চিত করার বিষয়ে আমি নিশ্চিত নই ।
কার্ল জুলাউফ

আমি যে দস্তাবেজগুলি সন্ধান করতে পেরেছি $HOME/.initসেগুলি ইঙ্গিত করে যে কাজগুলি ডিফল্টরূপে সক্ষম হয় না এবং কিছু পরিবর্তন প্রয়োজন /etc/dbus-1/system.d/Upstart.confহতে পারে। upstart.ubuntu.com/cookbook/#run-a-job-as-a-differences-user
কার্ল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.