TOP ▲
itcore TOP
> TIPS
> rsync_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