[shell] Ubuntuのupdate処理を自動化

auto_update.sh

#!/bin/bash

today=$(date "+%Y%m%d")

log_DIR="./update_log"
log_FILE="./update_log/update_${today}.log"

if [! -d $log_DIR]; then
    sudo mkdir ${log_DIR}
fi

if [ ! -e $log_FILE ]; then
    sudo touch ${log_FILE}
fi

all_update(){
    sudo apt-get update -y
}

start_time=$(date '+%Y/%m/%d %T')

echo "#### $start_time start update ####" | sudo tee -a ${log_FILE}

all_update | sudo tee -a ${log_FILE}

end_time=$(date '+%Y/%m/%d %T')

echo "#### $end_time end update ####" | sudo tee -a ${log_FILE}

$ chmod 777 auto_update.sh
$ ls -a
. .. auto_update.sh update_log
$ sh auto_update.sh

teeは標準入力から受け取った内容を、標準出力とファイルに書き出すコマンド