大切なデータを守るバックアップスクリプトをrsyncで作ります。差分バックアップで効率よく、世代管理もできます。
rsyncの基本
rsync -av /source/ /backup/
rsync -avz -e ssh /source/ user@remote:/backup/
rsync -av --delete /source/ /backup/注意:--delete は送信元にないファイルをバックアップ先から削除します。実行前に必ず対象パスを確認してください。
世代管理バックアップスクリプト
#!/bin/bash
SRC="/var/www/html"
BACKUP_BASE="/backup"
DATE=$(date "+%Y%m%d_%H%M%S")
BACKUP_DIR="$BACKUP_BASE/$DATE"
exec >> "/var/log/backup.log" 2>&1
echo "[$(date)] 開始"
mkdir -p "$BACKUP_DIR"
rsync -av --delete "$SRC/" "$BACKUP_DIR/"
echo "[$(date)] 完了"
find "$BACKUP_BASE" -maxdepth 1 -type d -mtime +7 -exec rm -rf {} \;まとめ
- rsyncは差分のみ転送するので高速・効率的
--deleteは強力なオプション。対象パスを必ず確認してから使う- 日付ディレクトリで世代管理、findで古い世代を自動削除できる
- cronに登録して毎日自動実行するのが理想的



コメント