আমি সবসময় লিনাক্স সিস্টেম বুট করে লগ অন করার সময় পেছনের দৃশ্যে কী ঘটে তা নিয়ে আকৃষ্ট হয়েছি। বেয়ার মেটালে পাওয়ার বাটন চাপালে অথবা ভার্চুয়াল মেশিন শুরু করলে Ereignis-এক সিরিজ সেট হয় যা একটি সম্পূর্ণ কার্যকর সিস্টেম তৈরি করে - কখনও কখনও এক মিনিটের কম সময়ে। একই বিষয় লগ অফ এবং/অথবা সিস্টেম শাটডাউন করার সময়ও ঘটে।
এটি আরও আকর্ষণীয় ও মজাদার কারণ হল, আপনি অপারেটিং সিস্টেমকে বুট করার সময়, লগ অন বা লগ আউট করার সময় নির্দিষ্ট ক্রিয়াকলাপ এক্সিকিউট করার জন্য বলতে পারেন।
এই ডিস্ট্রো-অগনস্টিক আর্টিকেলে আমরা লিনাক্সে এই লক্ষ্যগুলো অর্জনের প্রথাগত পদ্ধতিগুলো নিয়ে আলোচনা করব।
দ্রষ্টব্য: লগ অন এবং লগ আউট ইভেন্টের জন্য আমরা Bash কে প্রধান শেল ধরে নিচ্ছি। আপনি যদি অন্য শেল ব্যবহার করেন, তবে এই পদ্ধতিগুলো কাজ করতে পারে নাও পারে। সন্দেহ হলে আপনার শেলের ডকুমেন্টেশন দেখুন।
লিনাক্স রিবুট বা স্টার্টআপের সময় স্ক্রিপ্ট এক্সিকিউট করা
স্টার্টআপের সময় কমান্ড রান বা স্ক্রিপ্ট এক্সিকিউট করার দুটি প্রথাগত পদ্ধতি রয়েছে:
পদ্ধতি ১ - ক্রন জব ব্যবহার
সাধারণ ফরম্যাটের (মিনিট/ঘণ্টা/দিন/মাস/সপ্তাহের দিন) পাশাপাশি ক্রন শিডিউলার @reboot ডিরেক্টিভও অনুমতি দেয়। এই ডিরেক্টিভের পর স্ক্রিপ্টের আبسোলিউট পাথ দেওয়া থাকলে, মেশিন বুট হলে সেটি রান হবে।
তবে এই পদ্ধতির দুটি সীমাবদ্ধতা রয়েছে:
- ক) ক্রন ডেমন অবশ্যই রানিং অবস্থায় থাকতে হবে (সাধারণত এটি সত্য), এবং
- খ) স্ক্রিপ্ট বা ক্রনট্যাব ফাইলে প্রয়োজনীয় এনভায়রনমেন্ট ভেরিয়েবলগুলো থাকতে হবে (আরো ডিটেইলসের জন্য এই StackOverflow থ্রেড দেখুন)।
পদ্ধতি ২ - /etc/rc.d/rc.local ব্যবহার
এই পদ্ধতি systemd-ভিত্তিক ডিস্ট্রিবিউশনেও বৈধ। এটি কাজ করার জন্য /etc/rc.d/rc.local ফাইলে এক্সিকিউট পারমিশন দিতে হবে:
# chmod +x /etc/rc.d/rc.local
এবং ফাইলের নিচে আপনার স্ক্রিপ্ট যোগ করুন।
নিচের ছবিতে দেখানো হয়েছে কিভাবে দুটি স্যাম্পল স্ক্রিপ্ট (/home/gacanepa/script1.sh এবং /home/gacanepa/script2.sh) ক্রন জব এবং rc.local ব্যবহার করে রান করা হয়েছে এবং তাদের ফলাফল।
script1.sh:
#!/bin/bash DATE=$(date +'%F %H:%M:%S') DIR=/home/gacanepa echo "Current date and time: $DATE" > $DIR/file1.txt
script2.sh:
#!/bin/bash SITE="Tecmint.com" DIR=/home/gacanepa echo "$SITE rocks... add us to your bookmarks." > $DIR/file2.txt
মনে রাখবেন, উভয় স্ক্রিপ্টের আগে এক্সিকিউট পারমিশন দিতে হবে:
$ chmod +x /home/gacanepa/script1.sh $ chmod +x /home/gacanepa/script2.sh
লগ অন এবং লগ আউটের সময় লিনাক্স স্ক্রিপ্ট এক্সিকিউট করা
লগ অন বা লগ আউটের সময় স্ক্রিপ্ট এক্সিকিউট করতে যথাক্রমে ~.bash_profile এবং ~.bash_logout ব্যবহার করুন। সম্ভবত আপনাকে পরবর্তী ফাইলটি ম্যানুয়ালি তৈরি করতে হবে। আগের মতো প্রতিটি ফাইলের নিচে আপনার স্ক্রিপ্ট আহ্বানকারী একটি লাইন যোগ করুন এবং আপনি প্রস্তুত।
সারাংশ
এই আর্টিকেলে আমরা রিবুট, লগ অন এবং লগ আউটের সময় স্ক্রিপ্ট রান করার পদ্ধতি ব্যাখ্যা করেছি। আপনি যদি অন্য কোনো পদ্ধতি জানেন যা এখানে যোগ করা যেতে পারত, তবে নিচের কমেন্ট ফর্মে জানাতে পারেন। আপনার মতামত জানানোর জন্য অপেক্ষা করছি!
আপনার লিনাক্স দক্ষতা পরবর্তী লেভেলে নিয়ে যান
রুট মেম্বাররা প্রতিটি কোর্স, সার্টিফিকেশন প্রিপ ট্র্যাক এবং হ্যান্ডস-অন লিনাক্স কন্টেন্টের বৃদ্ধিশীল লাইব্রেরির পূর্ণ অ্যাক্সেস পান - প্রতি মাসে নতুন কোর্স যোগ হয়।
আপনি কী পাবেন
- সকল প্রিমিয়াম আর্টিকেলে অ্যাড-ফ্রি অ্যাক্সেস
- সকল কোর্সে অ্যাক্সেস: লিনাক্স শিখুন, লিনাক্সের জন্য AI, Bash স্ক্রিপ্টিং, উবুন্টু হ্যান্ডবুক, Golang এবং আরও অনেক কিছু।
- লিনাক্স সার্টিফিকেশনে অ্যাক্সেস (RHCSA, RHCE, LFCS এবং LFCA)
- রিলিজ হলে নতুন কোর্সে অ্যাক্সেস
- সাপ্তাহিক নিউজলেটারে অ্যাক্সেস
- কমেন্টে প্রায়োরিটি সাহায্য
- প্রাইভেট টেলিগ্রাম কমিউনিটি
- লিনাক্স কমিউনিটির সাথে যোগাযোগ

গ্যাব্রিয়েল ক্যানেপা আর্জেন্টিনার ভিলা মერსিডেস, সান লুইস থেকে একটি GNU/Linux সিস্টেম অ্যাডমিন এবং ওয়েব ডেভেলপার। তিনি বিশ্বব্যাপী একজন লিডিং কনসিউমার প্রোডাক্ট কোম্পানিতে কাজ করেন এবং FOSS টুলস ব্যবহার করে দৈনন্দিন কাজের সকল ক্ষেত্রে উৎপাদনশীলতা বাড়াতে আনন্দ অনুভব করেন।
TecMint-এ প্রতিটি টিউটোরিয়াল অভিজ্ঞ লিনাক্স সিস্টেম অ্যাডমিনিস্টrators-র একটি টিম দ্বারা তৈরি হয় যাতে এটি আমাদের হাই-কোয়ালিটি স্ট্যান্ডার্ডস পূরণ করে।