■ はじめに
シェルでのバックアップ / リストア に関する処理で よく使う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