バックアップをとる

最近のバックアップはcloneとかで済んでしまったりするんですが、結局ワタシも昔の人間なので、ファイルバックアップとダンプという古風なやり方で安心してしまうのです。テープの方が安心?ってそこまでの世代じゃないです。
・ファイルはtarでかためてバックアップサーバーに転送。
・mysqlダンプしてバックアップサーバーに転送。
・適当なところでローテート。
以上

#!/usr/bin/bash

# backup files
BACKUPTARGET1=\/home\/USER\/www
BACKUPTARGET2=\/home\/USER\/sys
# log
BACKUPLOGFILE=\/home\/USER\/logs\/backup_log

# tar web contents
tar -pcvzf /tmp/BACKUP_FILENAME.tar.gz $BACKUPTARGET1 $BACKUPTARGET2

# transfar tardama
scp -p -P 22 -i /root/.ssh/SSHKEY.pem /tmp/BACKUP_FILENAME.tar.gz root@BACKUP_HOST:/root/backup

# add date
ssh -i /root/.ssh/SSHKEY.pem root@BACKUP_HOST "mv /root/backup/BACKUP_FILENAME.tar.gz /root/backup/BACKUP_FILENAME-`date "+%Y%m%d_%H%M"`.tar.gz"

# database backup
mysqldump -u USER -pPASSWORD -h DB_HOST satest_db > /tmp/USER_db.sql
tar -pcvzf /tmp/USER_db.tar.gz /tmp/USER_db.sql

# tar web contents
scp -p -P 22 -i /root/.ssh/SSHKEY.pem /tmp/USER_db.tar.gz root@BACKUP_HOST:/root/backup

# add date
ssh -i /root/.ssh/SSHKEY.pem root@BACKUP_HOST "mv /root/backup/USER_db.tar.gz /root/backup/USER_db-`date "+%Y%m%d_%H%M"`.tar.gz"

# backup rotate 30days
ssh -i /root/.ssh/SSHKEY.pem root@BACKUP_HOST "rm -f /root/backup/*`date -d '3 days ago' "+%Y%m%d"`*"

# logging
echo "`date "+%Y%m%d_%H%M"` test backup complete." >> $BACKUPLOGFILE