TOP ▲ itcore TOPTIPSrsync_sh.php  タグ:シェル 配列 rsync

シェルの配列を使って複数のディレクトリやファイルをRSyncでコピーする。 | itcore 2019年

シェル作成

# cd
# vi rsync.sh
以下を入力

# 2019-03-21 シェルの配列を使って複数のディレクトリやファイルをRSyncでコピーする。

# コピー元サーバ
src_ip=10.0.0.47

# コピー元とコピー先のディレクトリ又はファイル
src_dirs=(); dst_dirs=()
src_dirs+=("/home/erp/"); dst_dirs+=("/var/www/erp2.itcore.jp/")
src_dirs+=("/var/bkup_mysql/"); dst_dirs+=("/var/bkup_mysql/")
src_dirs+=("/var/spool/cron/crontabs/root"); dst_dirs+=("/root/cron/erp_root"); mkdir -p /root/cron

# コピー元のバックアップしておきたいディレクトリ又はファイル
bkup_dirs=();
bkup_dirs=("/var/www/erp2.itcore.jp/htdocs/.htaccess");
dt=`date "+%Y%m%d_%H%M%S"`

# バックアップ
for bkup_dir in ${bkup_dirs[@]}
do
  /bin/cp -rp $bkup_dir ${bkup_dir}_$dt
done

# コピー(削除はしない)
i=0
for src_dir in ${src_dirs[@]}
do
  dst_dir=${dst_dirs[$i]}
  rsync -av root@$src_ip:$src_dir $dst_dir | grep -v -E '/$'
  i=`expr $i + 1`
done

# オーナー変更(必要に応じて)
chown -R apache.apache /var/www/erp2.itcore.jp

実行

sh rsync.sh