作成・設定手順
CentOS Version7
EPELリポジトリを追加する
yum install epel-release
zenityをインストールする
yum install zenity
ubuntu Version22.04
システムを更新する
sudo apt update
zenityをインストールする
sudo apt install zenity
configを作成する
EXPIRATION_DATE=2099-12-31
※ /usr/local/binで保存
expire_check_shutdown.shを作成する
#!/bin/bash
# configファイルから有効期限の読み込み
source /usr/local/bin/config
# 現在日付の取得
CURRENT_DATE=$(date +%Y-%m-%d)
# 有効期限の表示
zenity --info --text="有効期限: $EXPIRATION_DATE"
# 有効期限が過ぎているかの確認
if [[ "$CURRENT_DATE" > "$EXPIRATION_DATE" ]]; then
if [ -n "$DISPLAY" ]; then
# 有効期限が過ぎている場合、180秒後にシステムをシャットダウン(GUI)
zenity --info --text="有効期限が過ぎています。180秒後にシステムをシャットダウンします。"
else
echo "有効期限が過ぎています。180秒後にシステムをシャットダウンします。"
fi
sleep 180
shutdown now
else
if [ -n "$DISPLAY" ]; then
# 有効期限内の場合、正常起動(GUI)
zenity --info --text="有効期限内です。システムを起動します。"
else
echo "有効期限内です。システムを起動します。"
fi
fi
※ /usr/local/binで保存
expire_check_shutdown.serviceを作成する
[Unit]
Description=My startup script service
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/expire_check_shutdown.sh
[Install]
WantedBy=multi-user.target
※ /etc/systemd/systemで保存
所有者の変更
chown root:root /usr/local/bin/expire_check_shutdown.sh
chown root:root /etc/systemd/system/expire_check_shutdown.service
chown root:root /usr/local/bin/config
実行権限・参照権限の変更
chmod 755 /usr/local/bin/expire_check_shutdown.sh
chmod 755 /etc/systemd/system/expire_check_shutdown.service
chmod 755 /usr/local/bin/config
リロード・自動起動等の設定
systemctl daemon-reload
systemctl enable /expire_check_shutdown.service
systemctl start /expire_check_shutdown.service
最後に私からの宣伝
自分達でシステム構築できそうですか?
『専任の担当者がいないから無理かなぁ』
『担当者に構築する時間がないからなぁ』
『一人でやりきる自信がない』
『導入・構築までやってくれないかなぁ』
と色々と思う方もいたのではないでしょうか?
コメント