【Shell】シェルでのバックアップ / リストア に関するあれこれ

■ はじめに

シェルでのバックアップ / リストア に関する処理で
よく使うTipsを纏めておく。

目次

【1】外部ファイル取り込み
【2】日付/日時を付加するには
【3】古いファイルを削除
【4】ディレクトリ内の指定した拡張子のファイル名を取得する
【5】その他事項

 【1】外部ファイル取り込み

. ./.db_info

echo "${MYSQL_USER} / ${MYSQL_PASSWORD}"
.db_info 
MYSQL_USER=root
MYSQL_PASSWORD=password

 【2】日付/日時を付加するには

echo `date "+%Y%m%d_%H%M%S"`

変数として利用するなら

NOW=$(date "+%Y%m%d_%H%M%S")

 【3】古いファイルを削除

 * findコマンドのmtimeオプションを使う
  => 「-type f」: ファイルに限定(ディレクトリではなく)

find /home/admin/backups -type f -mtime +7 -exec rm {} \;

 【4】ディレクトリ内の指定した拡張子のファイル名を取得する

for 【変数・ファイル名が格納】 in *.【拡張子】; {
  # 繰り返し処理
}

 ファイル名から拡張子なしを取り除く

【変数・拡張子なしのファイル名】=`basename 【ファイル名】 .【拡張子】`;

 【5】その他事項

 Shebang「#!/bin/sh」「#!/bin/bash」

Shebang(シバンまたはシェバン)
https://rcmdnk.com/blog/2016/09/20/computer-linux-bash/
https://qiita.com/mohira/items/566ca75d704072bcb26f
http://sechiro.hatenablog.com/entry/20120806/1344267619
https://qiita.com/yn-misaki/items/6fcfab082dd664f10d4e
https://eng-entrance.com/linux-shellscript-do

関連記事

シェル ~入門編~
https://dk521123.hatenablog.com/entry/2014/10/23/005406