সার্ভার বুট করার সময় আমরা একটি জাজার ফাইলটি চালাতে চাই (আমরা একটি ভিপিএস ব্যবহার করছি), এবং তাই আমি ক্রন্টব সম্পাদনা করে crontab -e
এরপরে যুক্ত করেছিলাম @reboot bash /home/bash/startserver.sh
। তবে স্ক্রিপ্টটি মোটেও কাজ করে না এমন জায়গায় পৌঁছতে পারি নি।
এখানে আমার স্ক্রিপ্ট:
#!/bin/bash
screen -S bukkit
cd $HOME/server
java -jar bukkit.jar
আমার যে কারণটি ব্যবহার screen
করা দরকার তা হ'ল কারণ যখন আমি বুককিট.জার শুরু করি তখন এটি একটি কনসোলে যায় যেখানে আমি সেই প্রোগ্রামের জন্য আরও কমান্ড লিখতে পারি (আমি নিশ্চিত যে আপনি এই সাইটের মাইনক্রাফ্ট এবং এর সার্ভারগুলির সাথে সমস্ত পরিচিত though , হাহা), তবে এটি চলাকালীন আমার রুট হিসাবে এবং অন্যান্য প্রোগ্রামগুলির জন্য অন্যান্য কমান্ডগুলি করতে সক্ষম হওয়া প্রয়োজন, এবং এমনকি আমার পিটিটিওয়াই সেশনটি বন্ধ করে দেওয়া উচিত।
একমাত্র সমস্যাটি হ'ল এই স্ক্রিপ্টটি চালিত হওয়ার পরে এটি একটি স্ক্রিন সেশন তৈরি করে, তবে আইডি ফাঁকা থাকায় এটি আইডি তালিকাভুক্ত হয় নাscreen -ls
। বরং আমাকে /run/screen/S-root
আইডি সন্ধান করতে হবে এবং তারপরে টিপিকালটি ব্যবহার করতে screen -X -S $name quit
হবে।
হতে পারে এটি এমনকি সম্ভব নয়, বা সম্ভবত এটি করার একটি সহজ উপায় আছে (আমি আরও সহজ পছন্দ করব) তবে কেন এটি কাজ করছে না তা আমি বুঝতে পারি না। এবং যদি এটি সম্ভব হয় তবে screen -S bukkit
ব্যাশ স্ক্রিপ্ট চলাকালীন একটি সেশনে পুনরায় যোগদান করা কি সম্ভব ? (একাধিক প্রশ্ন, আমার ধারণা, তবে আপনার সহায়তার জন্য আপনাকে অনেক ধন্যবাদ! (বন্ধনী))