GNU/Linux >> Linux の 問題 >  >> Linux

再起動または起動時にコマンド/スクリプトを自動実行する方法

Linuxシステムを起動してログオンすると、舞台裏で起こっていることにいつも魅了されます。ベアメタルの電源ボタンを押すか、仮想マシンを起動することで、完全に機能するシステムにつながる一連のイベントを開始します。場合によっては1分もかかりません。ログオフしたり、システムをシャットダウンしたりする場合も同様です。

これをより面白くて楽しいものにしているのは、オペレーティングシステムが起動したとき、およびログオンまたはログアウトしたときに、オペレーティングシステムに特定のアクションを実行させることができるという事実です。

このディストリビューションにとらわれない記事では、Linuxでこれらの目標を達成するための従来の方法について説明します。

注 : Bashの使用を想定します ログオンおよびログアウトイベントのメインシェルとして。別の方法を使用した場合、これらの方法の一部は機能する場合と機能しない場合があります。疑わしい場合は、シェルのドキュメントを参照してください。

再起動または起動中にLinuxスクリプトを実行する

起動時にコマンドを実行したりスクリプトを実行したりするには、2つの従来の方法があります。

方法#1-cronジョブを使用する

スケジュールを示すために広く使用されている通常の形式(分/時間/日/月/曜日)に加えて、cronスケジューラでは@rebootを使用することもできます。 。このディレクティブの後にスクリプトへの絶対パスが続くと、マシンの起動時にスクリプトが実行されます。

ただし、このアプローチには2つの注意点があります。

  1. a) cronデーモンが実行されている必要があり(通常の状況の場合)、
  2. b) スクリプトまたはcrontabファイルには、必要となる環境変数(存在する場合)が含まれている必要があります(詳細については、このStackOverflowスレッドを参照してください)。

方法#2 –/etc/rc.d/rc.localを使用

この方法は、systemdベースのディストリビューションでも有効です。このメソッドを機能させるには、/etc/rc.d/rc.localに実行権限を付与する必要があります 次のように:

# chmod +x /etc/rc.d/rc.local

ファイルの最後にスクリプトを追加します。

次の画像は、2つのサンプルスクリプト(/home/gacanepa/script1.sh)を実行する方法を示しています。 および/home/gacanepa/script2.sh cronを使用する ジョブとrc.local 、それぞれ、およびそれぞれの結果。

script1.sh:
#!/bin/bash
DATE=$(date +'%F %H:%M:%S')
DIR=/home/gacanepa
echo "Current date and time: $DATE" > $DIR/file1.txt
script2.sh:
#!/bin/bash
SITE="Tecmint.com"
DIR=/home/gacanepa
echo "$SITE rocks... add us to your bookmarks." > $DIR/file2.txt

両方のスクリプトに事前に実行権限を付与する必要があることに注意してください:

$ chmod +x /home/gacanepa/script1.sh
$ chmod +x /home/gacanepa/script2.sh

ログオンおよびログアウト時にLinuxスクリプトを実行する

ログオン時またはログアウト時にスクリプトを実行するには、~.bash_profileを使用します および~.bash_logout 、 それぞれ。ほとんどの場合、後者のファイルを手動で作成する必要があります。以前と同じ方法で各ファイルの下部にスクリプトを呼び出す行をドロップするだけで、準備が整います。

概要

この記事では、再起動、ログオン、およびログアウト時にスクリプトを実行する方法について説明しました。ここに含めることができた他の方法を考えられる場合は、以下のコメントフォームを使用してそれらを指摘してください。ご連絡をお待ちしております!


Linux
  1. LinuxのbashコマンドをPERLスクリプトで実行する方法は?

  2. Systemdのスタートアップスクリプトを書く方法は?

  3. シェルスクリプトを使用してgnuplotでコマンドを実行する方法は?

  1. シェルからPythonスクリプトを実行する方法

  2. 起動時にシェルスクリプトを実行する方法

  3. JavaからPythonスクリプトを実行するには?

  1. Linuxでシャットダウンおよび再起動コマンドを無効にする方法

  2. Unix Sed チュートリアル:複数の Sed コマンドを実行する方法

  3. バックグラウンドでスクリプトを実行する方法 (linux openwrt)?