home Glamenv-Septzen(ぐらめぬ・ぜぷつぇん)(archive)

日記/2009/08/16/バックアップ用のrsync起動書き捨てPerl

作成日: 2009-08-16 12:03:22   /   last updated at: 2009-08-16 12:08:45
カテゴリ: Perl 

最初は普通にシェルスクリプトにしようと思ったのだけれど、"My Virtual Machines"などの空白が上手くくっつけられなかったので、やむなくPerlでラップした。

#!/usr/bin/env perl
 
$DRY_RUN = "-n";
if ($ARGV[0] eq "go") {
    $DRY_RUN = "";
}
 
$RSYNC_OPT = "-av --delete";
$SRC_DRIVE = "/c";
$DST_DRIVE = "/f";
 
my @TARGETS=(
"My_Documents/foo",
"My_Documents/My Pictures",
"My_Documents/My Virtual Machines",
...
);
 
foreach $TARGET (@TARGETS) {
    $CMD = "rsync ${RSYNC_OPT} ${DRY_RUN} \"${SRC_DRIVE}/${TARGET}/\" \"${DST_DRIVE}/${TARGET}\"";
    print $CMD."\n";
    system($CMD);
}

SRC_DRIVE, DST_DRIVEというところからバレたかもだけど、Windows上のCygwinのrsync想定。
自分の場合、C:の直下に"My_Documents"というフォルダを作ってマイドキュメントをそこにしてる。他、殆どC:直下に作ってあるので、一応このようなパス指定になった次第。

original url: https://www.glamenv-septzen.net/view/424