diff options
Diffstat (limited to 'src/tool/backup')
-rw-r--r-- | src/tool/backup | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/src/tool/backup b/src/tool/backup deleted file mode 100644 index 939c7eee7..000000000 --- a/src/tool/backup +++ /dev/null @@ -1,100 +0,0 @@ -#!/usr/bin/perl - -########################################################################## -# Athena用データバックアップツール -# -# Athenaの各種データファイル*.txtをバックアップするツール -# -#------------------------------------------------------------------------- -# 設定方法 -# 実行する時のカレントフォルダからのデータへのパス、ファイルのリストを -# 正しく設定します。バックアップ先のフォルダは自動作成されないので、 -# 自分で作成しておく必要があります。 -# フォルダの最後の「/」は省略できません。 -# -# フォルダは引数でも指定できます。例>./backup ../save/ ./backup_data/ -# フォルダの最後の「/」は省略できません。 -# -# 実行するとバックアップ先のフォルダへ、ファイル名に現在の日付と時刻を -# つけてファイルをコピーします。 -# -# * toolフォルダ内にbackup_dataフォルダを作成し、 -# athena.shの中に「./tool/backup ./save/ ./tool/backup_data/」 -# という行を追加すると、athenaを起動するたびにバックアップが取れます -# -# 復元するときは引数に「-r 日付と時刻」を指定します。 -# またその後ろにフォルダを指定することも出来ます -# 例1> ./backup -r 200309191607 -# 例2> ./backup -r 200309191607 ../save ./backup_data/ -# この例では2003/09/19の16:07分にバックアップしたデータを復元しています -# -# 復元するとき、Athenaディレクトリにあるデータは *.bak に名前を変更して -# 残しているので、いらない場合は rm *.bak などで消してください。 -# -########################################################################## - -$sdir="../save/"; #バックアップ元(Athenaのディレクトリ/save/) -$tdir="./backup_data/"; #バックアップ先 - -@files=( #ファイルのリスト - "account","athena","storage","party","guild","castle","pet" -); - - -#-------------------------------設定ここまで----------------------------- - - - - - - - - - - - -if($ARGV[0]=~/^\-r$/i || $ARGV[0]=~/\-\-(recover|restore)/i){ - #復元処理 - - $file=$ARGV[1]; - $sdir=$ARGV[2]||$sdir; - $tdir=$ARGV[3]||$tdir; - &restorecopy($_) foreach @files; - exit(0); -} - -#バックアップ処理 -$sdir=$ARGV[0]||$sdir; -$tdir=$ARGV[1]||$tdir; - -unless( -d $tdir ){ - print "$0: \"$tdir\" : No such directory\n"; - exit(1); -} - -(undef,$min,$hour,$day,$month,$year)=localtime; - -$file=sprintf("%04d%02d%02d%02d%02d", - $year+1900, $month+1, $day, $hour, $min ); - -&backupcopy($_) foreach @files; -exit(0); - -sub backupcopy { - my($name)= @_; - system("cp $sdir$name.txt $tdir$name$file.txt"); -} - -sub restorecopy { - my($name)= @_; - unless( -f "$sdir$name.txt" ){ - printf("$0: \"$sdir$name.txt\" not found!\n"); - return 0; - } - unless( -f "$tdir$name$file.txt" ){ - printf("$0: \"$tdir$name$file.txt\" not found!\n"); - return 0; - } - rename "$sdir$name.txt","$sdir$name.bak"; - system("cp $tdir$name$file.txt $sdir$name.txt"); -} |