summaryrefslogtreecommitdiff
path: root/src/tool/backup
diff options
context:
space:
mode:
Diffstat (limited to 'src/tool/backup')
-rw-r--r--src/tool/backup200
1 files changed, 100 insertions, 100 deletions
diff --git a/src/tool/backup b/src/tool/backup
index 2b5a958..939c7ee 100644
--- a/src/tool/backup
+++ b/src/tool/backup
@@ -1,100 +1,100 @@
-#!/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");
-}
+#!/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");
+}