আমার কাছে এই স্ক্রিপ্ট রয়েছে, আমি এই স্ক্রিপ্টটি কার্যকর করতে সিআরএন কাজ সেটআপ করতে ব্যবহার করছি, তাই এটি মাইএসকিউএল পরিষেবা চালু কিনা তা পরীক্ষা করতে পারে; তা না হলে এটি মাইএসকিউএল পরিষেবাটি পুনরায় চালু করে:
#!/bin/bash
service mysql status| grep 'mysql start/running' > /dev/null 2>&1
if [ $? != 0 ]
then
sudo service mysql restart
fi
আমি হিসাবে হিসাবে সেট ক্রোন কাজ আছে।
sudo crontab -e
এবং তারপর যোগ,
*/1 * * * * /home/ubuntu/mysql-check.sh
সমস্যাটি হ'ল এটি প্রতিটি ক্রোন জব এক্সিকিউশনে মাইএসকিউএল পুনঃসূচনা করে .. এমনকি সার্ভার এটি চালিত হলেও মাইএসকিউএল পরিষেবাটি পুনরায় আরম্ভ করে যা স্ক্রিপ্টে এটি সংশোধন করে তা করার জন্য।
[ ... ]
বা এড়িয়ে চলুন test <TEST>
। এগুলি সিনট্যাক্স অবহেলা করা হয়েছে । [[ ... ]]
পরিবর্তে ব্যবহার করুন। শুধুমাত্র ব্যবহার [ ... ]
এবং / অথবা test <TEST>
যখন [[ ... ]]
হয় না পাওয়া যায়।
if ! (service mysql status | grep 'mysql start/running' &>/dev/null); then sudo service mysql restart; fi
কী করে, এটি কি একটি সাবশেল শুরু হয়, যার মধ্যে service mysql status | grep 'mysql start/running' &> /dev/null
রান হয়, বলা সাবশেলের রিটার্ন (প্রস্থান) স্থিতিটি যদি পরে-বিবৃতিতে চলে যায়, যা এটি শূন্য নয় কিনা তা পরীক্ষা করে, আর যদি তা না হয় না নন-জিরো তারপর এটি রান then
ব্লক।