1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Ubuntu Serverで毎日午前4時にパッケージ更新・再起動を行うシェルスクリプト

Posted at

表題の通りです。Ubuntu 22.04にて。主に自分用。
(GPT君が作ってくれたんだけど、まとめがてら。技術的な細かい突込みはやめてください。)

スクリプトの準備・作成

まず、ホームディレクトリなどでupdate_and_reboot.shを作成。

nano update_and_reboot.sh

スクリプト作成

update_and_reboot.sh
#!/bin/bash

# ログファイルのパス
LOG_FILE="/var/log/update_and_reboot.log"

# 日本時間のタイムスタンプを取得
TIMESTAMP=$(TZ='Asia/Tokyo' date '+%Y-%m-%d %H:%M:%S')

# ログに実行時刻を記録
echo "[$TIMESTAMP] Starting system update..." | tee -a "$LOG_FILE"

# 更新プログラムのインストール
sudo apt update && sudo apt upgrade -y | tee -a "$LOG_FILE"

# 再起動のログを記録
TIMESTAMP=$(TZ='Asia/Tokyo' date '+%Y-%m-%d %H:%M:%S')
echo "[$TIMESTAMP] Rebooting system..." | tee -a "$LOG_FILE"

# システム再起動
sudo reboot

実行権限を付与

chmod +x update_and_reboot.sh

安全なディレクトリに配置

sudo mv update_and_reboot.sh /usr/local/bin/update_and_reboot.sh

cronジョブの設定

cronを編集

sudo crontab -e

エディタは何でも良いです。お好みのエディタでどうぞ。
(ワシはnanoをよく使いますが。)

以下を追加

0 4 * * * /usr/local/bin/update_and_reboot.sh

書き込んだら保存して、終了。

~動作確認~

sudo /usr/local/bin/update_and_reboot.sh

これで一度動作確認を行ってください。
再起動後に下記コマンドを打てば、ちゃんと動作しているか確認できるかと思います。

cat /var/log/update_and_reboot.log

これで毎日4時に、自動で更新・再起動が入るはずです。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?