0

cpanelバックアップからリモートサーバーに特定のファイルとディレクトリのみをrsyncすることを探しています。

基本的な構造は次のとおりです。

/backup/cpbackup/daily/USERNAME

USERNAMEディレクトリ内からバックアップしたい

../USERNAME/mysql/USERNAME.sql

また、フォルダ(ファイルとサブフォルダを含む)

../USERNAME/homedir/siteassets

だから私は私のリモートサーバーに次のようになります:

/USERNAME/mysql/USERNAME.sql
/USERNAME/homedir/siteassets

ワイルドカードを使用できます

rsync /backup/cpbackup/daily/*/mysql/*.sql  user@remote.ip.address:servername/

しかし、これはUSERNAMEフォルダーをリモートで提供せず、すべてのファイルがマージされることを意味します。これは、bashなどを使用してフォルダーを反復処理することで可能になると思いますが、それは私の長所ではありません。

4

2 に答える 2

0

自分で答えた:

#!/bin/bash

src="/backup/cpbackup/daily"

for dir in `ls "$src/"`
do
  if [ -d "$src/$dir" ]; then

        # look for mysql directory      
        mypath="$src/$dir/mysql"
        if [ -d $mypath ]; then
                mysqlfile=$mypath/$dir".sql"
                rsync -vau --progress --stats --rsh=ssh $mysqlfile user@remote.ip.address.net:servername/$dir
        fi

        # look for images directory      
        impath="$src/$dir/homedir/siteassets"
        if [ -d $impath ]; then
                rsync -vau --progress --stats --rsh=ssh $impath user@remote.ip.address.net:servername/$dir
        fi

  fi
done
于 2012-09-26T11:21:50.440 に答える
0

rsyncには'--include-from'および'--exclude-from'パラメーターがあります。これにより、白と黒のリストを別のファイルで定義できます。たぶん、これは解決策をより簡単にすることができます。

于 2012-09-26T12:24:29.883 に答える