ホーム > タグ > bash
bash
指定されたファイル/ディレクトリをバックアップするshell

最近このブログをさくらのVPSに移行したこともあり、サーバ周りをいじっていることが多いです。
そこで使っているshellスクリプトをメモしておきます。
backup.listに記載したパスを順番に全部zipで固めてバックアップを取るshellスクリプト。
readは便利ですね。
#!/bin/bash
echo "##### ${0} start #####"
ZIP=/usr/bin/zip
BACKUP_ROOT=/home/backup/s3
while read TARGET
do
echo ${TARGET}
DATE=`date '+%Y%m%d_%H%M%S'`
FILENAME=`echo ${TARGET} | sed 's/\//_/g'`
BACKUP_FILE=backup${FILENAME}_$DATE.zip
# backup
echo "${ZIP} -r ${BACKUP_ROOT}/${BACKUP_FILE} ${TARGET}"
${ZIP} -r ${BACKUP_ROOT}/${BACKUP_FILE} ${TARGET}
done < backup.list
echo "##### ${0} end #####"
backup.listはこんな感じでただディレクトリ/ファイルを改行区切りで記載するだけ。
なおスラッシュは上記スクリプトの中で_(アンダースコア)に変換し、バックアップファイル名の一部としています。
/etc/httpd
/usr/local/bin
最終的にはAmaozn S3に一定期間保存しています。
- Comments: 0
- Trackbacks: 0
Home > Tags > bash