Bashプログラミング
 Computer >> コンピューター >  >> プログラミング >> Bashプログラミング

Linux の再起動と起動時のコマンドを自動化する:ステップバイステップ ガイド

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

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

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

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

再起動または起動中の Linux スクリプトの実行

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

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

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

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

<オル>
  • a) cron デーモンが実行されている必要があります (通常の状況ではこれが当てはまります)。
  • 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
    
    Linux の再起動と起動時のコマンドを自動化する:ステップバイステップ ガイド 起動時に Linux スクリプトを実行する

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

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

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

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

    概要

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

    Linux スキルを次のレベルに引き上げましょう

    ルート メンバーは、すべてのコース、認定準備トラック、および毎月新しいコースが追加される増大する実践的な Linux コンテンツのライブラリに完全にアクセスできます。

    得られるもの

    すべてのプレミアム記事に広告なしでアクセス

    すべてのコースへのアクセス:Linux、Linux 用 AI、Bash スクリプト、Ubuntu ハンドブック、Golang などを学習します。

    Linux 認定資格 (RHCSA、RHCE、LFCS、LFCA) へのアクセス

    リリース時に新しいコースにアクセス

    週刊ニュースレターにアクセスしてください

    コメント内の優先ヘルプ

    プライベート Telegram コミュニティ

    Linux コミュニティとつながる

    Linux の再起動と起動時のコマンドを自動化する:ステップバイステップ ガイド

    Gabriel Cánepa は、アルゼンチン、サン ルイスの Villa Mercedes 出身の GNU/Linux システム管理者兼 Web 開発者です。彼は世界有数の消費者製品会社に勤めており、FOSS ツールを使用して日常業務のあらゆる分野の生産性を向上させることに大きな喜びを感じています。

    TecMint の各チュートリアルは、経験豊富な Linux システム管理者のチームによって作成されています そのため、当社の高品質基準を満たしています。


    1. マインスイーパを構築して高度なBashスキルを磨く

      私はプログラミングを教える専門家ではありませんが、何かを上手に使いたいときは、それを楽しむ方法を見つけようとしています。たとえば、シェルスクリプトを上手に使いたいと思ったとき、Bashでマインスイーパゲームのバージョンをプログラミングして練習することにしました。 経験豊富なBashプログラマーで、楽しみながらスキルを磨きたい場合は、ターミナルで独自のバージョンのマインスイーパを作成してください。完全なソースコードは、このGitHubリポジトリにあります。 準備中 コードを書き始める前に、ゲームを作成するために必要な要素の概要を説明しました。 地雷原を印刷する ゲームプレイロジックを作成す

    2. ドットファイル–ドットファイルとは何ですか?MacとLinuxでそれを作成する方法

      ドットファイルは、ソフトウェア開発者としてのキャリアにおいて不可欠な役割を果たす重要なファイルです。 まず、彼らはあなたをより生産的にするのを助けることができます。しかし、それだけではありません。どのマシンでも、自分で作成した生産的なセットアップを行うことができます。 この記事は、ドットファイルの使用を開始する方法の概要です。 それらが何であるか、システム上でそれらを見つける方法、およびいくつかの単純なドットファイルを作成する方法を学習します。さらに、設定をカスタマイズして知識を広げる方法について、いくつかの提案とリソースを提供します。 始めましょう! ドットファイルとは何ですか?