root/tools/backup @ 22

Revision 1, 2.7 kB (checked in by jinshiro, 17 years ago)
Line 
1#!/usr/bin/perl
2
3##########################################################################
4# Athena—pƒf[ƒ^ƒoƒbƒNƒAƒbƒvƒc[ƒ‹
5#
6# @Athena‚ÌŠeŽíƒf[ƒ^ƒtƒ@ƒCƒ‹*.txt‚ðƒoƒbƒNƒAƒbƒv‚·‚éƒc[ƒ‹
7#
8#-------------------------------------------------------------------------
9# Ý’è•û–@
10# @ŽÀs‚·‚鎞‚̃JƒŒƒ“ƒgƒtƒHƒ‹ƒ_‚©‚ç‚̃f[ƒ^‚ւ̃pƒXAƒtƒ@ƒCƒ‹‚ÌƒŠƒXƒg‚ð
11# @³‚µ‚­Ý’肵‚Ü‚·BƒoƒbƒNƒAƒbƒvæ‚̃tƒHƒ‹ƒ_‚ÍŽ©“®ì¬‚³‚ê‚È‚¢‚̂ŁA
12# @Ž©•ª‚ō쐬‚µ‚Ä‚š‚­•K—v‚ª‚ ‚è‚Ü‚·B
13# @ƒtƒHƒ‹ƒ_‚̍Ōã‚́u/v‚͏ȗª‚Å‚«‚Ü‚¹‚ñB
14#
15# @ƒtƒHƒ‹ƒ_‚͈ø”‚Å‚àŽw’è‚Å‚«‚Ü‚·B—၄./backup ../save/ ./backup_data/
16# @ƒtƒHƒ‹ƒ_‚̍Ōã‚́u/v‚͏ȗª‚Å‚«‚Ü‚¹‚ñB
17#
18# @ŽÀs‚·‚邯ƒoƒbƒNƒAƒbƒvæ‚̃tƒHƒ‹ƒ_‚ցAƒtƒ@ƒCƒ‹–Œ‚ÉŒ»Ý‚Ì“ú•t‚ÆŽž‚ð
19# @‚‚¯‚ătƒ@ƒCƒ‹‚ðƒRƒs[‚µ‚Ü‚·B
20#
21#   * toolƒtƒHƒ‹ƒ_“à‚Ébackup_dataƒtƒHƒ‹ƒ_‚ðì¬‚µA
22# @  athena.sh‚Ì’†‚Ɂu./tool/backup ./save/ ./tool/backup_data/v
23#     ‚Æ‚¢‚€s‚ð’ljÁ‚·‚邯Aathena‚ð‹N“®‚·‚邜‚тɃoƒbƒNƒAƒbƒv‚ªŽæ‚ê‚Ü‚·
24#
25#   •œŒ³‚·‚邯‚«‚͈ø”‚Ɂu-r “ú•t‚ÆŽžv‚ðŽw’肵‚Ü‚·B
26# @‚Ü‚œ‚»‚ÌŒã‚ë‚ɃtƒHƒ‹ƒ_‚ðŽw’è‚·‚邱‚Æ‚ào—ˆ‚Ü‚·
27# @—á‚P„ ./backup -r 200309191607
28# @—á‚Q„ ./backup -r 200309191607 ../save ./backup_data/
29# @‚±‚Ì—á‚Å‚Í2003/09/19‚Ì16:07•ª‚ɃoƒbƒNƒAƒbƒv‚µ‚œƒf[ƒ^‚𕜌³‚µ‚Ä‚¢‚Ü‚·
30#
31# @•œŒ³‚·‚邯‚«AAthenaƒfƒBƒŒƒNƒgƒŠ‚É‚ ‚éƒf[ƒ^‚Í *.bak ‚É–Œ‘O‚ð•ύX‚µ‚Ä
32# @Žc‚µ‚Ä‚¢‚é‚̂ŁA‚¢‚ç‚È‚¢ê‡‚Í rm *.bak ‚ȂǂŏÁ‚µ‚Ä‚­‚Ÿ‚³‚¢B
33#
34##########################################################################
35
36$sdir="../save/";               #ƒoƒbƒNƒAƒbƒvŒ³(Athena‚̃fƒBƒŒƒNƒgƒŠ/save/)
37$tdir="./backup_data/";         #ƒoƒbƒNƒAƒbƒvæ
38
39@files=(                        #ƒtƒ@ƒCƒ‹‚ÌƒŠƒXƒg
40        "account","athena","storage","party","guild","castle","pet"
41);
42
43
44#-------------------------------Ý’肱‚±‚Ü‚Å-----------------------------
45
46
47
48
49
50
51
52
53
54
55
56if($ARGV[0]=~/^\-r$/i || $ARGV[0]=~/\-\-(recover|restore)/i){
57        #•œŒ³ˆ—
58
59        $file=$ARGV[1];
60        $sdir=$ARGV[2]||$sdir;
61        $tdir=$ARGV[3]||$tdir;
62        &restorecopy($_) foreach @files;
63        exit(0);
64}
65
66#ƒoƒbƒNƒAƒbƒvˆ—
67$sdir=$ARGV[0]||$sdir;
68$tdir=$ARGV[1]||$tdir;
69
70unless( -d $tdir ){
71        print "$0: \"$tdir\" : No such directory\n";
72        exit(1);
73}
74
75(undef,$min,$hour,$day,$month,$year)=localtime;
76
77$file=sprintf("%04d%02d%02d%02d%02d",
78        $year+1900, $month+1, $day, $hour, $min );
79
80&backupcopy($_) foreach @files;
81exit(0);
82
83sub backupcopy {
84        my($name)= @_;
85        system("cp $sdir$name.txt $tdir$name$file.txt");
86}
87
88sub restorecopy {
89        my($name)= @_;
90        unless( -f "$sdir$name.txt" ){
91                printf("$0: \"$sdir$name.txt\" not found!\n");
92                return 0;
93        }
94        unless( -f "$tdir$name$file.txt" ){
95                printf("$0: \"$tdir$name$file.txt\" not found!\n");
96                return 0;
97        }
98        rename "$sdir$name.txt","$sdir$name.bak";
99        system("cp $tdir$name$file.txt $sdir$name.txt");
100}
Note: See TracBrowser for help on using the browser.