ກວດສອບວ່າ Service ຂອງ Linux ເຮັດວຽກຢູ່ຫລືບໍ່ ແລະສັ່ງ Restart ຫາກມັນບໍ່ເຮັດວຽກ
ປັນຫານີ້ແມ່ນເກີດຂຶ້ນຫລັງຈາກທີ່ຂ້າພະເຈົ້າໄດ້ຕິດຕັ້ງ Revers Proxy ເພື່ອຊ່ວຍບໍ່ໃຫ່ ເວັບເຊີບເວີເຮັດວຽຫນັກຈົນເກີນໄປ ແລະ ເພື່ອເປັນການ Filter ການ request ແປກປອມເຂົ້າມາຫາເວັບເຊີບເວີ
Service ດັ່ງກ່າວນີ້ແມ່ນ varnish ແລ້ວປັນຫາກໍເກີດຂຶ້ນຢູ່ບ່ອນນີ້ເອງ ເມື່ອ ເອົາ varnish ມາເປັນດ່ານຫນ້າເພື່ອຮັບກັບການ ເອີ້ນຫນ້າເວັບຈາກພາຍນອກກ່ອນເຂົ້າໄປຫາເວັບເຊີບເວີ ໄປຮອດໄລຍະນຶ່ງທີ່ ມີການໂຈມຕີຈາກ Spam ທີ່ພະຍາຍາມເອີ້ນຫນ້າເວັບ ຫລາຍໆເວັບ ຊ້ຳໆກັນ ດ້ວຍຄວາມໄວສູງ ແລະ ບວກກັບ ເມວທີ່ ຖືກ ຂັງໄວ້ໃນຄິວ ເພາະຂ້າພະເຈົ້າກອງໄວ້ບໍ່ໃຫ້ມັນສົ່ງອອກລົວໆ ກັນບໍ່ໃຫ້່ Server ຖືກ BlockList ແລະ ບວກກັບ ຊ່ວງເວລາທີ່ ເຊີບເວີກຳລັງ BackUp ໂຕເອງໃນຕອນກາງຄືນ ເຮັດໃຫ້ varnish ຕາຍອະນາດ ເຊິ່ງກໍບໍ່ໄດ້ຕາຍທຸກມື້ ຂຶ້ນກັບອັດຕາການຍິງຂອງສະແປມ ຫາກມັນຍິງມາຫລາຍ ແລະ ຖືກຊ່ວງເວລາດັ່ງກ່າວກໍຖືວ່າ ຕາຍ ແຕ່ໂດຍສະເລ່ຍແລ້ວ varnish ຈະຕາຍປະມານເດືອນລະເທື່ອ (ຖຶວ່າຮັບໄດ້) ສາມາດທຽວເຂົ້າໄປ ສັ່ງ restart ເອງກໍໄດ້
ແຕ່ມັນເກີດປັນຫາຄື ມື້ວານນີ້ກຳລັງຈະໄປຫລິ້ນຕາດ ແລ້ວ ມີລູກຄ້າໂທມາແຈ້ງວ່າ ເຂົ້າເວັບບໍ່ໄດ້ ເຊິ່ງຂ້າພະເຈົ້າເອງກໍໄດ້ຮັບເມວແລ້ວ ວ່າມັນເຮັດວຽກຫນັກ
ຕອນນັ້ນເນັດກໍຈະບໍ່ມີສັນຍານແລ້ວ ແຖມໃຫ້ໃຜເຮັດແທນບໍ່ໄດ້ບໍ່… ກໍເລີຍມາຫາວິທີ ໃຫ້ມັນ ກວດ ແລະ restart ໂຕເອງສະ ແລ້ວກໍມາຂຽນ ບັນທຶກໄວ້ດຽວລືມ
ວິທີມີດັ່ງນີ້່
ໃຫ້ສ້າງໄຟລ varnish_restart.sh
ແລ້ວເອົາຄຳສັ່ງນີ້ໄປໃສ່
#!/bin/bash
service varnish status| grep ‘pid start/running’ > /dev/null 2>&1
if [ $? != 0 ]
then
service varnish restart
fi
ຈາກນັ້ນ Save ແລ້ວ copy file ໄປໄວ້ທີ່ /etc/
ແລະສັ່ງ
chmod +rx varnish_restart.sh
ຈາກນັ້ນກໍຕັ້ງເວລາໃຫ້ມັນກວດ ແລ້ວແຕ່ວ່າຈະໃຫ່ມັນກວດເລື້ອຍປານໃດ
ໃນນີ້ຂ້າພະເຈົ້າໃຫ້ ມັນກວດເປັນແຕ່ລະເວລາໄປດັ່ງນີ້
ຕັ້ງເວລາໃຫ້ມັນກວດສອບ ທຸກໆ 1,5,9,12,16,20 ໂມງ ຂອງແຕ່ລະມື້
ແລ້ວກຳນົດໄວ້ທີ່ crontab ແບບນີ້
ສັ່ງ crontab -e
ກົດ insert ທີ່ແປ້ນພິມ ແລ້ວກ໋ອບເອົາຄຳສັ່ງນີ້ໄປໃສ່
* 1,5,9,12,16,20 * * * /etc/varnish_restart.sh
ຈາກນັ້ນ ກົດ ESC ຕາມດ້ວຍ Shift + : ຕາມດ້ວຍ wq ກົດ enter
ຖືວ່າຈົບພິທີ
ປລ. ວິທີນີ້ສາມາດນຳໄປປະຍຸກກັບ Server ອື່ນໆກໍໄດ່ ລອງສຶກສາຈາກຄຳສັ່ງ ຂອງ Server ນັ້ນໆ