Како да напишете Bash скрипта за да ги рестартирате програмите на серверот


За да се осигурате дека најимперативните програми остануваат онлајн колку што е можно повеќе (дури и по пад на серверот или рестартирање), може да се создаде кратка баш скрипта за да се провери дали програмата работи, а ако не е, да ја стартувате. Со користење на cron за да се закаже скриптата да се извршува на редовна основа, можеме да се погрижиме програмата да се рестартира секогаш кога ќе се намали.

Баш скрипта

Првиот чекор во овој процес е да се создаде самата скрипта. Постојат различни програми како што се upstart, supervisor и monit, кои имаат способност да стартуваат и следат апликации на виртуелен приватен сервер на многу нијансиран начин - оваа баш скрипта едноставно ќе обезбеди прекинувач за вклучување.

Подолу е примерок од скрипта што го стартува apache-то ако го најде исклучено.

nano launch.sh
#!/bin/sh

ps auxw | grep apache2 | grep -v grep > /dev/null

if [ $? != 0 ]
then
        /etc/init.d/apache2 start > /dev/null
fi

Откако ќе ја зачувате скриптата, мора да и дадете извршни дозволи за да можете да ја извршите:

chmod +x launch.sh

Apache може да се замени со која било потребна апликација. Доколку сакате да ја поставите скриптата за различни апликации, можете да креирате нова скрипта за секоја од нив, ставајќи ја на сопствената линија во датотеката cron.

Cron Setup

Со сценариото во рака, треба да го поставиме распоредот на кој ќе работи. Услужната алатка cron ни овозможува да закажеме во кои интервали треба да се извршува скриптата. Започнете со отворање на датотеката cron:

crontab -e

Крон има детално објаснување за тоа како функционира системот за тајминг на почетокот.

Откако ќе знаете колку често сакате да се извршува скриптата, можете да пишувате во соодветната линија.

Најчесто сценариото може да работи во cron е секоја минута. Доколку сакате да поставите толку мал прираст, можете да го користите овој образец:

* * * * * ~/launch.sh

На секои пет минути би било поставено вака:

*/5 * * * * ~/launch.sh

Види повеќе

Поставувањето на оваа едноставна скрипта ќе продолжи да се стартува програмата откако ќе се исклучи од која било причина. Ова е погодно бидејќи ќе осигури дека најдолгото време кога програмата ќе биде исклучена е за временскиот интервал што сте го навеле во конфигурацијата на cron.

Доколку ви треба програма што е уште малку посуптилна, можете да ги поставите деталите за вашето стартување со една од неколкуте програми за следење на серверот (Monit).