シェル スクリプト言語は、すべてのプログラミング言語の中で最も単純な言語であるため、資格のある Linux 運用および保守担当者は、シェル スクリプト プログラミングに精通している必要があります。シェル スクリプトが優れていなければ、運用および保守の道は始まる前に終わってしまう可能性があります。 ——老人教師 #!/bin/bash # chkconfig: 2345 64 36 #システムの自動起動を構成する# 説明: 非常に高速で信頼性の高い SQL データベース エンジン。 ############################################################## # ファイル名: mysqld # バージョン: V1.0 # 著者: oldboy # 組織: www.oldboyedu.com # 作成日時 : 2018-06-05 08:58:19 ############################################################## #システム関数ライブラリを導入します。/etc/init.d/functions #基本パス定義 basedir='/application/mysql' バインドディレクトリ='/application/mysql/bin' ロックディレクトリ='/var/lock/subsys' lock_file_path="$lockdir/mysql" mysqld_pid_file_path='$basedir/data/`uname -n`.pid' #成功プロンプト関数 log_success_msg(){ #action は特別なプロンプト関数、$@ はすべてのパラメーターです。 アクション "成功!$@" /bin/true } #失敗プロンプト関数 log_failure_msg(){ アクション "ERROR! $@" /bin/false } #mysql 開始関数 start(){ echo $"MySQL を起動しています" #mysqld_safeが実行可能かどうかをテストする if test -x $bindir/mysqld_safe それから #バックグラウンド実行でmysqlコマンド$bindir/mysqld_safe &>/dev/null &が開始されます #戻り値を取得します retval=$? # 戻り値が0かどうか確認する [ $retval -eq 0 ]の場合 それから #成功プロンプト関数を呼び出します。 log_success_msg "mysql 起動" if test -w "$lockdir" #ロックディレクトリが書き込み可能かどうかを判断します。 それから touch "$lock_file_path" #ロックファイルを作成します。 フィ return $retval #戻り値を返すのはプロフェッショナルな行為です。 それ以外 log_failure_msg "MySQL 起動" #関数呼び出しが失敗したことを通知します。 $retvalを返す フィ それ以外 log_failure_msg "MySQL サーバーが見つかりませんでした ($bindir/mysqld_safe)" フィ } #MySQL 機能を停止します。 停止(){ #mysql pid ファイルのサイズが 0 かどうかを判断します。 テスト -s "$mysqld_pid_file_path" の場合 それから #pidfile を読み込む mysqld_pid=`cat "$mysqld_pid_file_path"` #mysql pidに対応するプロセスが存在するかどうかを判断します。 (kill -0 $mysqld_pid 2>/dev/null)の場合 それから echo $"MySQL をシャットダウンしています" kill $mysqld_pid #MySQL コマンドを停止します。 戻り値=$? [ $retval -eq 0 ]の場合 それから log_success_msg "MySQL Stop" #停止成功関数を呼び出します。 テスト -f "$lock_file_path" それから rm -f "$lock_file_path" #ロックファイルを削除します。 フィ $retvalを返す それ以外 log_failure_msg「MySQL 停止。」 $retvalを返す フィ それ以外 log_failure_msg "MySQL サーバー プロセス mysqld_pid が実行されていません!" rm "$mysqld_pid_file_path" フィ それ以外 log_failure_msg "MySQL サーバーの PID ファイルが null か、存在しません!" フィ } #渡されたパラメータを受け取り、対応する関数を実行します。 ケース「$1」 始める) 始める 戻り値=$? ;; 停止) 停止 戻り値=$? ;; 再起動) 停止 睡眠2 #これはとても重要です。休憩してください。 始める 戻り値=$? ;; *) echo $"使用法:$0 {start|stop|restart}" 出口2 エサック exit $retval #スクリプトを実行した後、戻り値を持つ方がプロフェッショナルです。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
この記事では、モバイルとPCで簡単なドラッグアンドドロップ効果を実現するためのTypescript ...
何人かの学生は、マスターとスレーブの間の不一致の問題に遭遇したと述べました。一般的な状況としては、m...
効果は以下のとおりです。 例1 例2:例1[結婚式の計画]を例にとるHTML: <div cl...
ウェブ上でチャートを描くための 9 つの優れた JavaScript フレームワーク スクリプト 1...
Google の Flutter の目標は、どのプラットフォームを使用していても、ネイティブの速度...
ブログの正式名称は「Web log」で、中国語で「ネットワークログ」を意味します。後にブログに短縮さ...
アレイの重複排除は、通常、就職面接中に遭遇し、アレイの重複排除方法のコードを手動で記述することが求め...
クールなフロントエンドページのランダムQRコード検証を参考までに共有します。具体的な内容は次のとおり...
目次1. コンポーネントの紹介2. コンポーネントの内部構造とロジック1. コード組織構造2. マッ...
この記事は、WindowsでのMySQL 8.0.11のインストールチュートリアルを記録しています。...
擬似配列と配列JavaScript では、5 つのプリミティブ データ型を除き、関数を含め、その他す...
目次1. psutilパッケージをインストールする次に、オペレーティングシステム内のすべてのサービス...
まず、Windows 64 ビット用の最新の MySQL 5.7.17 コミュニティ圧縮バージョンを...
基礎トランザクションは、SQL ステートメントのグループに対するアトミック操作です。つまり、グループ...
この質問をされたとき、私は無知で頭が真っ白になりました。もちろん、正しく答えられませんでした。私はず...