প্রথমে কেন কিছুই ঘটে না তা ব্যাখ্যা করার জন্য, সম্ভবত সিনট্যাক্সের কারণে। আপনার ssh কমান্ডটি ফর্মটির মধ্যে রয়েছে: ssh serverএটি যখন আপনি কেবল লগইন করতে চান এবং তারপরে ম্যানুয়ালি ইন্টারেক্টিভভাবে কয়েকটি কমান্ড টাইপ করেন। তবে আপনি যদি লগইন করার পরে কিছু কমান্ড স্বয়ংক্রিয়ভাবে চালিত হতে চান তবে আপনার করা উচিত: ssh server somecommandসুতরাং কেবল somecommandপরের লাইনে থাকা কার্যকর হবে না।
ঠিক আছে, আপনি যখনই ইমেইল ডিস্ক স্পেস তথ্য উভয়টিতে একটি সিস্টেম চান এবং একই সময়ে নির্ধারিত ইমেলগুলিকে সমর্থন করেন তবে আমি একটি তিনটি অংশের সিস্টেমের প্রস্তাব করব:
- সার্ভারে একটি স্ক্রিপ্ট যা ডিস্কের তথ্য এবং ইমেল যুক্তি অর্জন করে, উদাহরণস্বরূপ
/home/yourusername/script.sh
- স্ক্রিপ্ট.শ চালানোর জন্য crontab
- আপনার স্বেচ্ছাচারিতার জন্য, অন-অনুরোধের অনুরোধগুলির জন্য আপনি স্ক্রিপ্টটি ছড়িয়ে দিতে এবং চালাতে পারেন
script.sh
এটি সার্ভারে আপনি দেওয়া স্ক্রিপ্ট, উদাহরণস্বরূপ /home/yourusername/script.sh এ।
#!/bin/bash
s="Disk Space Alert: $(df / | grep / | awk '{ print $5}')"
mail -s $s username@example.com
# Feedback
echo $s
আমি এটি সরিয়ে দিয়েছিলাম sedকারণ এটি কেবল %চিহ্নটি সরিয়েছে তবে আপনি এটি পরে যুক্ত করছেন, এটি সেডের অপ্রয়োজনীয় ব্যবহার বলে মনে হচ্ছে তাই আমি এটি সরিয়ে ফেললাম।
দ্বিতীয়ত, আমি কেবল সাবজেক্ট লাইনে ফিট করার জন্য ডিস্ক ব্যবহারের তথ্যকে কনডেন্স করেছি, যদি এটি কাজ না করে তবে অবশ্যই আপনি এটি আপনার মূল ফর্মটিতে সংশোধন করতে পারেন, তবে সবাইকে যে কোনও উপায়ে জানাতে পারেন যাতে কোনও ত্রুটি থাকলে আমরা শিখতে পারি ইত্যাদি
নিম্নলিখিতরূপে crontab পরিবর্তন
আপনার সার্ভারে ক্রোনট্যাব সম্পাদনা করুন, উদাহরণস্বরূপ আপনার সার্ভারে ssh করুন এবং তারপরে এই আদেশগুলি দিয়ে এগিয়ে যান
$ crontab -e
আপনি ফর্ম্যাটটি জানেন
# m h dom mon dow command
প্রতিদিনের জন্য সকাল 8 টা
0 8 * * * /home/yourusername/script.sh
সুতরাং আপনি যতক্ষণ না স্ক্রিপ্টটি ইতিমধ্যে পরীক্ষা করেছেন এবং জানেন যে এটি ইমেলগুলি প্রেরণে কাজ করে, তারপরে ক্রন্টব স্ক্রিপ্টটি চালাবে এবং ইমেলটি প্রতিদিন সকাল ৮ টায় প্রেরণের জন্য প্রেরণা দেবে
ডিস্কের তথ্য ইমেল করার জন্য নির্বিচারে অনুরোধ
আপনি শুধু ssh কিন্তু শেষ স্ক্রিপ্ট কমান্ড
ssh -p 1111 server@server.example.com /home/yourusername/script.sh
এটি ssh সিনট্যাক্স ব্যবহার করে ssh server somecommandতাই এটি লগ ইন করে, যে কোনও কমান্ড কার্যকর করে এবং ফলাফলটি স্থানীয় মানের বাইরে দেয় to
কারণ এতে প্রতিক্রিয়া লাইন রয়েছে, কেবল এটি ইমেল করা উচিত নয়, আপনি Disk Space Alert: ...বার্তাটিও দেখতে পাবেন যাতে আপনার স্ক্রিপ্টটি চালিত হয়েছিল কিনা তা আপনি অন্তত অবিলম্বে প্রতিক্রিয়া পান।
bashহয়/bin/bash, না ভিতরে/usr/bin। এবং আপনি কিsshসার্ভারের পরে কমান্ডগুলি চালিত করতে চান ?