0

1500 のプロセス ID を保持するサーバー アプリケーションがあります。プロセスが起動しているかどうかを 1 時間ごとにチェックするシェル スクリプトが必要です。起動していない場合は、「dsmc -u xxxx -p * *」を使用してプロセスを起動します。私のgmail(xxx@gmail.com)にメールしてください。Gmailアカウントにメールを送信する方法のコードは次のとおりです。

   if pidof -s vsftpd = /dev/null; then
      echo 'ftp is stopped'

       sudo /etc/init.d/vsftpd restart
  else 
       echo "The FTP server is Down" | mail -s "Ftp Server is Down" abcd@example.com
   fi

Gmail アカウントにメールが届きません。参照: http://rtcamp.com/wordpress-nginx/tutorials/linux/ubuntu-postfix-gmail-smtp/

4

3 に答える 3

0

ps -ef でスクリプトを実行できます

試す、

 # cat vsftpd.sh
 #!/bin/bash
 /bin/ps -ef | grep vsftpd > /dev/null 2>&1
 if [ $? -ne 0 ]
 then
 /etc/init.d/vsftpd restart > /dev/null 2>&1
 /bin/mail -s "FTP service is RESTARTED now" abcd@example.com
 else
 sleep 0
 fi

クローン:

 * * * * * /bin/sh /path/to/vsftpd.sh > /dev/null 2>&1
于 2013-11-09T18:19:32.687 に答える
0

スクリプトを作成するには、次の関数と関連する man ページを調査することをお勧めします。

ps pgrep ptree メール

于 2013-10-14T10:11:57.337 に答える