EasyBackup 鏄竴涓熀浜� Java 鐨勫厤璐瑰紑婧愯法骞冲彴鍐呭澶囦唤鍘嬬缉杩滅▼鍙戦€佷竴浣撳寲浠诲姟璋冨害搴旂敤鍙婂紩鎿庢鏋躲€傚嵆鍙紑绠卞嵆鐢�(EasyBackup Application)锛屽張鍙互浣滀负鍐呭澶囦唤寮曟搸妗嗘灦鎵╁睍(EasyBackup Engine Framework)銆�
EasyBackup 鑳藉涓洪渶瑕佽繘琛屽唴瀹瑰浠界殑绋嬪簭鍦烘櫙鎻愪緵涓€浣撳寲鏀寔銆傞泦鍚堜簡鍩轰簬浠诲姟璋冨害鐨勫唴瀹瑰浠斤紝鍐呭鍘嬬缉锛岃繙绋嬪彂閫侊紝鍛戒护鎵ц绛夌瓑鍔熻兘銆傝€岃繖涓€鍒囷紝浠呴渶杩涜绠€鍗曠殑閰嶇疆绠$悊鍗冲彲瀹屾垚銆�
鏈€鏂扮増鏈細 2.2.0-RELEASE
鎻掍欢锛�
easybackup-mysql-plugin-2.2.0-RELEASE.jar
MySQL 鏁版嵁搴撳浠芥彃浠�ZIP
锛�GZIP
锛�TAR
绛夋牸寮�CronExpression
鐨勭洃鎺т换鍔¤皟搴�TargetFile
锛夊拰澶囦唤鏂囦欢瀵硅薄锛�BackupDir
, BackupFile
锛夛紝鑷畾涔夊浠藉疄鐜帮紙Backup
锛夛紝鑷畾涔夋嫤鎴櫒锛�Interceptor
锛夛紝鑷畾涔夊彂閫佸櫒锛�Sender
锛夈€�freemarker
鐨勮嚜瀹氫箟閫氱煡妯℃澘锛屾敮鎸佸唴缃彉閲忎娇鐢紝鏇存柊妯℃澘鑷姩閲嶆柊鍔犺浇easybackup.properties
锛屼慨鏀圭洃鎺ч厤缃弬鏁版棤闇€閲嶅惎 EasyBackupBackup锛堝浠斤級
鍙互閰嶇疆閽堝 File
锛堟枃浠跺浠斤級锛� USER
锛堢敤鎴疯嚜瀹氫箟澶囦唤锛屽鏁版嵁搴撳浠界瓑绛夛級 涓ょ绫诲瀷鐨勫浠芥湇鍔°€傚浠芥柟寮忔敮鎸佹枃浠剁洿鎺ュ浠藉拰鍘嬬缉澶囦唤銆�
Compression锛堝帇缂╋級
鏀寔灏嗙洰鏍囨枃浠跺帇缂╀负 ZIP
, GZIP
锛� TAR
绛夋牸寮忋€�
Sender锛堝彂閫佽€咃級
褰撳浠藉畬鎴愶紝灏嗗浠界粨鏋滃彂閫佸埌 Email
銆� Web Storage
绛夌瓑锛屼竴涓浠芥湇鍔″彲浠ユ湁澶氫釜 Sender銆�
Commander&Class Interceptor锛堝懡浠ゆ墽琛屽拰鎷︽埅鍣級
鍦ㄥ浠藉紑濮嬪墠鍜屽畬鎴愬悗锛岃嚜鍔ㄦ墽琛岀浉搴旀嫤鎴懡浠ゅ拰绫汇€�
Task Schedule锛堜换鍔¤皟搴﹀櫒锛�
鍩轰簬 CronExpression
鐨勫浠戒换鍔¤皟搴︺€�
澶囦唤鏈锛�
targetFile
锛氬緟澶囦唤鐨勭洰鏍囨枃浠�
dir
, backupDir
锛氬浠芥枃浠跺瓨鍌ㄧ洰褰�
file
, backupFile
锛氬浠芥枃浠跺悕
BackupConfiguration 瀵硅薄
灏佽浜嗘瘡涓€椤瑰浠芥湇鍔℃墍闇€鐨勭浉鍏虫暟鎹拰閰嶇疆淇℃伅锛�basic
锛夛紝瀹屽叏閰嶇疆淇℃伅锛�properties
锛夛紝璋冨害淇℃伅锛�task schedure
锛夛紝鎷︽埅鍣ㄤ俊鎭紙interceptor
锛夛紝澶囦唤鏂囦欢淇℃伅锛�targetFile
, backupDir
, backupFile
锛夛紝鍘嬬缉淇℃伅锛�compress
锛夊拰鍙戦€佽€咃紙senders
锛夈€�
BackupJob
EasyBackup 浼氭牴鎹� BackupConfiguration
瀵硅薄锛屽垱寤虹洃鎺� Job銆�
easybackup.properties
鏄� EasyBackup 鐨勬牳蹇冮厤缃枃浠讹紝閰嶇疆浜嗗唴瀹瑰浠芥墍闇€鐨勬墍鏈変俊鎭€�
# Backup ON or OFF, default is ON
# 澶囦唤鏈嶅姟榛樿鏄惁鎵撳紑锛岄粯璁や负 ON
easybackup.enable=ON
# Backup trigger Cron-Expressions
# 澶囦唤鏈嶅姟鐨勯粯璁よ皟搴� Cron-Expressions锛� 榛樿涓� '0 30 * * * ?'
easybackup.cronexpression=0 30 * * * ?
# Directory to store the backup file
# You can specify more than one, separated by a ##
# 鏂囦欢澶囦唤鐩綍锛屽涓浠界洰褰曚娇鐢� ## 鍒嗛殧
easybackup.dir=/user/backup/
# backup file name under 'easybackup.backup.dir' directory
# If not specified, the automatically generated file name is 'targetFileName-yyyyMMddHHmmssS[.zip|tar|tar.gz]'
# you can use variable: ${targetFileName}, ${name}, ${type}, ${value}, ${backuptime}, ${backupConfiguration.XXX}
# 鍦ㄦ枃浠跺浠界洰褰曚笅鐨勫浠界殑鏂囦欢鍚�
# 榛樿涓� 'targetFileName-yyyyMMddHHmmssS[.zip|tar|tar.gz]'
# 鍙互浣跨敤浠ヤ笅鍙橀噺锛�${targetFileName}, ${name}, ${type}, ${value}, ${backuptime?string("yyyyMMddHHmmssS")}, ${backupConfiguration.XXX}
easybackup.file=
# Whether backup compression, default is OFF
# 榛樿鏄惁浣跨敤鍘嬬缉澶囦唤锛岄粯璁や负 OFF
easybackup.compress=OFF
# Compression format: TAR(*.tar), ZIP(*.zip), GZIP(*.tar.gz), default is ZIP
# 鍘嬬缉澶囦唤浣跨敤鐨勫帇缂╂柟寮忥紝榛樿涓� ZIP
easybackup.compressType=ZIP
# Comprssion encoding
# 鍘嬬缉鏂囦欢浣跨敤鐨勭紪鐮佹牸寮�
easybackup.compressEncoding=
# Whether delete targetFile after backup complete, default is OFF
# 澶囦唤瀹屾垚鍚庯紝鏄惁鍒犻櫎宸插浠界殑鐩爣鏂囦欢锛岄粯璁や负 OFF
easybackup.deleteTargetFile=OFF
# Receive Backup file mail address
# You can specify more than one, separated by a ##
# 鎺ユ敹澶囦唤淇℃伅鐨勯偖绠卞垪琛紝澶氫釜閭浣跨敤 ## 鍒嗛殧
easybackup.mail.receiver=yourmail@domain.com##youmail2@domai2.org
# Send Mail Account Config
# 閭鍙戦€佽€呰处鎴烽厤缃�
# Send Mail Account
easybackup.mail.sender=sendermail@domain.com
# Send Mail password
# 閭鍙戦€佽€呭瘑鐮�
easybackup.mail.sender.passowrd=mailpassword
# Send Mail SMTP host
# 閭鍙戦€佽€� host
easybackup.mail.sender.host=smtp.163.com
# Send Mail SMTP port; default is 25
# 閭鍙戦€佽€� host 绔彛
easybackup.mail.sender.port=25
# Send Mail Whether use SSL; default is false
# 鏄惁浣跨敤浜� SSL 鍗忚
easybackup.mail.sender.ssl=false
# Send Mail title
# you can use variable: ${targetFileName}, ${name}, ${type}, ${value}, ${backuptime?datetime}, ${backupConfiguration.XXX}
# 閭欢鍙戦€佹爣棰�
# 鍙互浣跨敤浠ヤ笅鍙橀噺锛�${targetFileName}, ${name}, ${type}, ${value}, ${backuptime?datetime}, ${backupConfiguration.XXX}
easybackup.mail.sender.title=Backup ${targetFileName}- EasyBackup
# The send mail content freemarker template in template directory, default is 'mail.tpl'
# template 鐩綍涓嬬殑閭欢鍙戦€佹ā鏉匡紝榛樿涓� mail.tpl
easybackup.mail.sender.template=mail.tpl
# Auto delete when send email complete ON or OFF, default is OFF
# 澶囦唤鍙戦€佸埌閭鍚庯紝鏄惁鍒犻櫎澶囦唤鏂囦欢锛岄粯璁や负 OFF
easybackup.mail.deleteBackup=OFF
# Execute Command when backup before or after
# You can specify more than one, separated by a ##
# 澶囦唤寮€濮嬪墠鎴栧畬鎴愬悗鎵ц鐨勫墠缃拰鍚庣疆鍛戒护鑴氭湰锛屽涓懡浠よ剼鏈娇鐢� ## 鍒嗛殧
easybackup.cmd.before=
easybackup.cmd.after=
# Execute Interceptor when backup before or after
# You can specify more than one, separated by a ##
# 澶囦唤寮€濮嬪墠鎴栧畬鎴愬悗鎵ц鐨勫墠缃拰鍚庣疆澶勭悊绫伙紝澶氫釜绫诲畬鍏ㄩ檺瀹氬悕浣跨敤 ## 鍒嗛殧
easybackup.beforeClass=
easybackup.afterClass=
NAME
鏄嚜瀹氫箟鐨勭洃鎺ф湇鍔″悕绉帮紝姣忎釜鐩戞帶鏈嶅姟鐢变竴缁勭浉鍚� NAME
鐨勯厤缃」缁勬垚銆�
######################## Backup Service configuration
easybackup.[file|user].NAME=value
easybackup.[file|user].NAME.enable=ON | OFF
easybackup.[file|user].NAME.cronexpression=0/10 * * * * ?
easybackup.[file|user].NAME.dir=/user/backup/##/user/backup2
easybackup.[file|user].NAME.file=
easybackup.[file|user].NAME.compress=ON | OFF
easybackup.[file|user].NAME.compressType=ZIP | GZIP | TAR
easybackup.[file|user].NAME.compressEncoding=
easybackup.[file|user].NAME.deleteTargetFile=ON | OFF
easybackup.user.NAME.targetFileClass=package.YourTargetFile
easybackup.user.NAME.dirClass=package.YourBackupDir
easybackup.user.NAME.fileClass=package.YourBackupFile
easybackup.user.NAME.backupClass=package.YourBackup
easybackup.[file|user].NAME.cmd.before=/user/backupBefore.sh##/user/backupBefore2.sh
easybackup.[file|user].NAME.cmd.after=/user/backcAfter.sh##/user/backcAfter2.sh
easybackup.[file|user].NAME.beforeClass=package.BackupBefore##package.BackupBefore2
easybackup.[file|user].NAME.afterClass=package.BackupAfter##package.BackupAfter2
easybackup.[file|user].NAME.mail.receiver=receivermail@domain.com##receivermail1@domain.com
easybackup.[file|user].NAME.mail.sender=sendermail@domain.com
easybackup.[file|user].NAME.mail.sender.passowrd=sendermail_password
easybackup.[file|user].NAME.mail.sender.host=sendermail_host
easybackup.[file|user].NAME.mail.sender.port=sendermail_port
easybackup.[file|user].NAME.mail.sender.ssl=sendermail_ssh
easybackup.[file|user].NAME.mail.sender.title=sendermail_title
easybackup.[file|user].NAME.mail.sender.template=mail.tpl
easybackup.[file|user].NAME.mail.deleteBackup=ON | OFF
easybackup.[file|user].NAME.senders=package.userSenderClass##package.userSenderClass2
targetFileClass
锛氳幏鍙栫洰鏍囨枃浠剁殑鑷畾涔夊鐞嗙被锛岄渶瑕佸疄鐜� TargetFile
鎺ュ彛锛岄粯璁や负 cn.easyproject.easybackup.backup.file.impl.DefaultTargtFile
dirClass
锛氳幏鍙栧浠界洰褰曠殑鑷畾涔夊鐞嗙被锛岄渶瑕佸疄鐜� BackupDir
鎺ュ彛锛岄粯璁や负 cn.easyproject.easybackup.backup.file.impl.DefaultBackupDir
fileClass
锛氳幏鍙栧浠芥枃浠跺悕鐨勮嚜瀹氫箟澶勭悊绫伙紝闇€瑕佸疄鐜� BackupFile
鎺ュ彛锛岄粯璁や负 cn.easyproject.easybackup.backup.file.impl.DefaultBackupFile
backupClass
锛氬畬鎴愬浠藉疄鐜扮殑澶勭悊绫伙紝闇€瑕佸疄鐜� Badkup
鎺ュ彛锛岄粯璁や负cn.easyproject.easybackup.backup.impls.FileBackup
澶囦唤鏂囦欢鍚嶉厤缃�
榛樿鐨勫浠芥枃浠跺悕涓� ${targetFileName}-yyyyMMddHHmmssS[.zip|tar|tar.gz]
锛屽浠芥枃浠跺悕鍙互鍖呭惈浠ヤ笅 Freemarker
鍙橀噺锛�
${targetFileName}锛氱洰鏍囨枃浠跺悕
${type}锛氬浠界被鍨嬶紙FILE銆�USER锛�
${name}锛氬浠芥湇鍔″悕绉�
${value}锛氬浠芥湇鍔″€�
${backuptime?string("yyyyMMddHHmmssS")}锛氬浠芥椂闂�
${backupConfiguration.XXX}锛氬浠介厤缃璞″睘鎬�
绀轰緥锛�
easybackup.file=${targetFileName}-${type}-${backuptime?string("yyyyMMddHHmmss")}.bkp
easybackup.[file|user].NAME.file=file-${backuptime?string("yyyyMMddHHmmss")}.bkp
閭欢鏍囬閰嶇疆
閭欢鏍囬鍙互鍖呭惈浠ヤ笅 Freemarker
鍙橀噺锛�
${targetFileName}锛氱洰鏍囨枃浠跺悕
${backupFileName}锛氬浠芥枃浠跺悕
${type}锛氬浠界被鍨嬶紙FILE銆�USER锛�
${name}锛氬浠芥湇鍔″悕绉�
${value}锛氬浠芥湇鍔″€�
${backuptime?datetime}锛氬浠芥椂闂�
${backupConfiguration.XXX}锛氬浠介厤缃璞″睘鎬�
绀轰緥锛�
easybackup.mail.sender.title=Backup ${targetFileName}- EasyBackup
easybackup.[file|user].NAME.sender.title=Backup ${targetFileName}- EasyBackup
######################## Global Config(Optional) 鍏ㄥ眬閰嶇疆锛堝彲閫夛級
# Backup ON or OFF, default is ON
# 澶囦唤鏈嶅姟榛樿鏄惁鎵撳紑锛岄粯璁や负 ON
easybackup.enable=ON
# Backup trigger Cron-Expressions
# 澶囦唤鏈嶅姟鐨勯粯璁よ皟搴� Cron-Expressions锛� 榛樿涓� '0 30 * * * ?'
easybackup.cronexpression=0 30 * * * ?
# Directory to store the backup file
# You can specify more than one, separated by a ##
# 鏂囦欢澶囦唤鐩綍锛屽涓浠界洰褰曚娇鐢� ## 鍒嗛殧
easybackup.dir=/user/backup/
# backup file name under 'easybackup.backup.dir' directory
# If not specified, the automatically generated file name is 'targetFileName-yyyyMMddHHmmssS[.zip|tar|tar.gz]'
# you can use variable: ${targetFileName}, ${name}, ${type}, ${value}, ${backuptime}, ${backupConfiguration.XXX}
# 鍦ㄦ枃浠跺浠界洰褰曚笅鐨勫浠界殑鏂囦欢鍚�
# 榛樿涓� 'targetFileName-yyyyMMddHHmmssS[.zip|tar|tar.gz]'
# 鍙互浣跨敤浠ヤ笅鍙橀噺锛�${targetFileName}, ${name}, ${type}, ${value}, ${backuptime?string("yyyyMMddHHmmssS")}, ${backupConfiguration.XXX}
easybackup.file=
# Whether backup compression, default is OFF
# 榛樿鏄惁浣跨敤鍘嬬缉澶囦唤锛岄粯璁や负 OFF
easybackup.compress=OFF
# Compression format: TAR(*.tar), ZIP(*.zip), GZIP(*.tar.gz), default is ZIP
# 鍘嬬缉澶囦唤浣跨敤鐨勫帇缂╂柟寮忥紝榛樿涓� ZIP
easybackup.compressType=ZIP
# Comprssion encoding
# 鍘嬬缉鏂囦欢浣跨敤鐨勭紪鐮佹牸寮�
easybackup.compressEncoding=
# Whether delete targetFile after backup complete, default is OFF
# 澶囦唤瀹屾垚鍚庯紝鏄惁鍒犻櫎宸插浠界殑鐩爣鏂囦欢锛岄粯璁や负 OFF
easybackup.deleteTargetFile=OFF
# Receive Backup file mail address
# You can specify more than one, separated by a ##
# 鎺ユ敹澶囦唤淇℃伅鐨勯偖绠卞垪琛紝澶氫釜閭浣跨敤 ## 鍒嗛殧
easybackup.mail.receiver=yourmail@domain.com##youmail2@domai2.org
# Send Mail Account Config
# 閭鍙戦€佽€呰处鎴烽厤缃�
# Send Mail Account
easybackup.mail.sender=sendermail@domain.com
# Send Mail password
# 閭鍙戦€佽€呭瘑鐮�
easybackup.mail.sender.passowrd=mailpassword
# Send Mail SMTP host
# 閭鍙戦€佽€� host
easybackup.mail.sender.host=smtp.163.com
# Send Mail SMTP port; default is 25
# 閭鍙戦€佽€� host 绔彛
easybackup.mail.sender.port=25
# Send Mail Whether use SSL; default is false
# 鏄惁浣跨敤浜� SSL 鍗忚
easybackup.mail.sender.ssl=false
# Send Mail title
# you can use variable: ${targetFileName}, ${name}, ${type}, ${value}, ${backuptime?datetime}, ${backupConfiguration.XXX}
# 閭欢鍙戦€佹爣棰�
# 鍙互浣跨敤浠ヤ笅鍙橀噺锛�${targetFileName}, ${name}, ${type}, ${value}, ${backuptime?datetime}, ${backupConfiguration.XXX}
easybackup.mail.sender.title=Backup ${targetFileName}- EasyBackup
# The send mail content freemarker template in template directory, default is 'mail.tpl'
# template 鐩綍涓嬬殑閭欢鍙戦€佹ā鏉匡紝榛樿涓� mail.tpl
easybackup.mail.sender.template=mail.tpl
# Auto delete when send email complete ON or OFF, default is OFF
# 澶囦唤鍙戦€佸埌閭鍚庯紝鏄惁鍒犻櫎澶囦唤鏂囦欢锛岄粯璁や负 OFF
easybackup.mail.deleteBackup=OFF
# Execute Command when backup before or after
# You can specify more than one, separated by a ##
# 澶囦唤寮€濮嬪墠鎴栧畬鎴愬悗鎵ц鐨勫墠缃拰鍚庣疆鍛戒护鑴氭湰锛屽涓懡浠よ剼鏈娇鐢� ## 鍒嗛殧
easybackup.cmd.before=
easybackup.cmd.after=
# Execute Interceptor when backup before or after
# You can specify more than one, separated by a ##
# 澶囦唤寮€濮嬪墠鎴栧畬鎴愬悗鎵ц鐨勫墠缃拰鍚庣疆澶勭悊绫伙紝澶氫釜绫诲畬鍏ㄩ檺瀹氬悕浣跨敤 ## 鍒嗛殧
easybackup.beforeClass=
easybackup.afterClass=
######################## Backup Service Configuration 鐩戞帶閰嶇疆
############ File Backup(can override global config)
## format:
## easybackup.file.NAME=value
## easybackup.file.NAME.enable=ON | OFF
## easybackup.file.NAME.cronexpression=0/10 * * * * ?
## easybackup.file.NAME.dir=/user/backup/##/user/backup2
## easybackup.file.NAME.file=
## easybackup.file.NAME.compress=ON | OFF
## easybackup.file.NAME.compressType=ZIP | GZIP | TAR
## easybackup.file.NAME.compressEncoding=
## easybackup.file.NAME.deleteTargetFile=ON | OFF
## easybackup.file.NAME.cmd.before=/user/backupBefore.sh##/user/backupBefore2.sh
## easybackup.file.NAME.cmd.after=/user/backcAfter.sh##/user/backcAfter2.sh
## easybackup.file.NAME.beforeClass=package.BackupBefore##package.BackupBefore2
## easybackup.file.NAME.afterClass=package.BackupAfter##package.BackupAfter2
## easybackup.file.NAME.mail.receiver=receivermail@domain.com##receivermail1@domain.com
## easybackup.file.NAME.mail.sender=sendermail@domain.com
## easybackup.file.NAME.mail.sender.passowrd=sendermail_password
## easybackup.file.NAME.mail.sender.host=sendermail_host
## easybackup.file.NAME.mail.sender.port=sendermail_port
## easybackup.file.NAME.mail.sender.ssl=sendermail_ssh
## easybackup.file.NAME.mail.sender.title=sendermail_title
## easybackup.file.NAME.mail.sender.template=mail.tpl
## easybackup.file.NAME.mail.deleteBackup=ON | OFF
## easybackup.file.NAME.senders=package.userSenderClass##package.userSenderClass2
# Example:
easybackup.file.LOG=D:/log
easybackup.file.LOG.enable=ON
easybackup.file.LOG.dir=D:/backup/logfile/##E:/backup/logfile
easybackup.file.LOG.cronexpression=0 30 * * * ?
easybackup.file.LOG.compress=ON
easybackup.file.LOG.compressType=ZIP
#easybackup.file.LOG.mail.receiver=mail@domain.com
############ Port Monitor(can override global config)
## format:
## easybackup.user.NAME=value
## easybackup.user.NAME.enable=ON | OFF
## easybackup.user.NAME.cronexpression=0/10 * * * * ?
## easybackup.user.NAME.dir=/user/backup/##/user/backup2
## easybackup.user.NAME.file=
## easybackup.user.NAME.compress=ON | OFF
## easybackup.user.NAME.compressType=ZIP | GZIP | TAR
## easybackup.user.NAME.compressEncoding=
## easybackup.user.NAME.deleteTargetFile=ON | OFF
## easybackup.user.NAME.targetFileClass=package.YourTargetFile
## easybackup.user.NAME.dirClass=package.YourBackupDir
## easybackup.user.NAME.fileClass=package.YourBackupFile
## easybackup.user.NAME.backupClass=package.YourBackup
## easybackup.user.NAME.cmd.before=/user/backupBefore.sh##/user/backupBefore2.sh
## easybackup.user.NAME.cmd.after=/user/backcAfter.sh##/user/backcAfter2.sh
## easybackup.user.NAME.beforeClass=package.BackupBefore##package.BackupBefore2
## easybackup.user.NAME.afterClass=package.BackupAfter##package.BackupAfter2
## easybackup.user.NAME.mail.receiver=receivermail@domain.com##receivermail1@domain.com
## easybackup.user.NAME.mail.sender=sendermail@domain.com
## easybackup.user.NAME.mail.sender.passowrd=sendermail_password
## easybackup.user.NAME.mail.sender.host=sendermail_host
## easybackup.user.NAME.mail.sender.port=sendermail_port
## easybackup.user.NAME.mail.sender.ssl=sendermail_ssh
## easybackup.user.NAME.mail.sender.title=sendermail_title
## easybackup.user.NAME.mail.sender.template=mail.tpl
## easybackup.user.NAME.mail.deleteBackup=ON | OFF
## easybackup.user.NAME.senders=package.userSenderClass##package.userSenderClass2
# Example:
easybackup.user.MySQL=mysqldump -uroot -proot demoDB
easybackup.user.MySQL.targetFileClass=cn.easyproject.easybackup.mysql.MySQLTargetFile
easybackup.user.MySQL.dir=D:/backup/##E:/backupdb
# default targetFileName is 'demoDB-yyyyMMddHHmmssS.sql'
# you can use variable: ${targetFileName}, ${name}, ${type}, ${value}, ${backuptime?string("yyyyMMddHHmmssS")}, ${backupConfiguration.XXX}
easybackup.user.MySQL.file= demodb-${backuptime?string("yyyyMMddHHmmss")}-backup.sql
easybackup.user.MySQL.compress=ON
easybackup.user.MySQL.compressType=ZIP
easybackup.user.MySQL.cronexpression=0 0 2 * * ?
#easybackup.user.MySQL.mail.receiver=mail@domain.com
EasyBackup 浣跨敤浜� freemarker
妯℃澘鎶€鏈繘琛岄偖浠跺唴瀹规覆鏌擄紝妯℃澘蹇呴』瀛樻斁鍦� template
鐩綍涓嬶紝榛樿浣跨敤 mail.tpl
妯℃澘銆�
鎮ㄥ彲浠ョ洿鎺ヤ慨鏀规ā鏉垮唴瀹癸紝鎴栬€呯紪鍐欐偍鑷繁鐨勯偖浠跺彂閫佹ā鏉裤€�
### Global configuration
easybackup.mail.sender.template=yourmail.tpl
### Monitor Service configuration
easybackup.[file|user].NAME.mail.sender.template=yourmail.tpl
${targetFileName}锛氬浠界殑妯℃澘鏂囦欢鍚�
${type}锛氬浠界被鍨嬶紙FILE銆�USER锛�
${name}锛氬浠芥湇鍔″悕绉�
${value}锛氬浠芥湇鍔″€�
${backuptime}锛氬浠芥椂闂�
${backupConfiguration.XXX}锛氬浠介厤缃璞″睘鎬�
EasBackup Application 鏄紑绠卞嵆鐢ㄧ殑 EasBackup 澶囦唤搴旂敤銆傛寜闇€閰嶇疆鎮ㄧ殑澶囦唤鏈嶅姟锛屽惎鍔ㄥ嵆鍙€�
EasyBackup Application 宸茬粡鍖呭惈浜嗗綋鍓嶅畼鏂圭殑鑰屾墍鏈夋彃浠躲€傚鏋滄偍寮€鍙戜簡鏂扮殑鎻掍欢锛屽彲浠ュ皢鎻掍欢鐨勫唴瀹圭洿鎺ユ坊鍔犲埌 easybackup-X.X.X-RELEASE-APPLICATION.jar
涓€�
easybackup-mysql-plugin-2.2.0-RELEASE.jar
: MySQL 鏁版嵁搴撳浠芥彃浠�
閰嶇疆澶囦唤鏈嶅姟
鍙傝€� easybackup.properties
涓殑绀轰緥锛岄厤缃偍鐨勫浠芥湇鍔°€�
杩愯 EasyBackup
Windows(Sometimes you must 'Run as Administrator
')
Start: startup.bat
Stop: shutdown.bat
Linux
Start: ./startup.sh
Stop: ./shutdown.sh
鍙€夐厤缃�
閭欢妯℃澘 Mail template
淇敼 'template/mail.tpl
' 瀹氬埗鎮ㄧ殑閭欢鍐呭銆�
鏃ュ織 Logger
閰嶇疆 log4j.properties
鏃ュ織杈撳嚭銆�
EasyBackup 鍚屾椂鏄竴涓厤璐瑰紑婧愯法骞冲彴鐨� Java 鍐呭澶囦唤寮曟搸妗嗘灦(EasyBackup Engine Framework)锛屾彁渚涚粺涓€瑙勮寖鐨勫浠介厤缃拰鏍稿績璋冨害銆�
Maven dependency
<dependency>
<groupId>cn.easyproject</groupId>
<artifactId>easybackup</artifactId>
<version>2.2.0-RELEASE</version>
</dependency>
鑷畾涔夋帴鍙e疄鐜�
閰嶇疆 easybackup.properties
鍚姩
public static void main(String[] args) {
new EasyBackup().start();
}
EasyBackup 鎻愪緵浜嗘瀬澶х殑鐏垫椿鎬э紝鎵╁睍浠ヤ笅鎺ュ彛锛屽嵆鍙嚜瀹氫箟鎮ㄧ殑澶囦唤鍐呭锛�
TargetFile 鐩爣鏂囦欢鏉ユ簮锛�cn.easyproject.easybackup.backup.file.TargetFile
锛�
杩斿洖鍊�: 鑷畾涔夌殑 java.io.File
鐩爣鏂囦欢瀵硅薄
閰嶇疆: easybackup.user.NAME.targetFileClass
鍙傛暟榛樿鍊�: cn.easyproject.easybackup.backup.file.impl.DefaultTargtFile
BackupDir 澶囦唤鏂囦欢鐩綍锛�cn.easyproject.easybackup.backup.file.BackupDir
锛�
杩斿洖鍊�: 鑷畾涔夌殑 java.io.File
澶囦唤鐩綍瀵硅薄
閰嶇疆: easybackup.user.NAME.dirClass
鍙傛暟榛樿鍊�: cn.easyproject.easybackup.backup.file.impl.DefaultBackupDir
BackupFile 澶囦唤鏂囦欢鍚嶇О锛�cn.easyproject.easybackup.backup.file.BackupFile
锛�
杩斿洖鍊�: 鑷畾涔夌殑 String
澶囦唤鏂囦欢鍚�
閰嶇疆: easybackup.user.NAME.fileClass
鍙傛暟榛樿鍊�: cn.easyproject.easybackup.backup.file.impl.DefaultBackupFile
Backup 澶囦唤瀹炵幇锛�cn.easyproject.easybackup.backup.impls.Backup
锛�
杩斿洖鍊�: 鏍规嵁浼犲叆澶囦唤鏂囦欢淇℃伅锛岃嚜瀹氫箟澶囦唤澶勭悊瀹炵幇锛岃繑鍥炴槸鍚﹀浠芥垚鍔�
閰嶇疆: easybackup.user.NAME.backupClass
鍙傛暟榛樿鍊�: cn.easyproject.easybackup.backup.impls.FileBackup
BackupBefore 鍓嶇疆鎷︽埅鍣�锛�cn.easyproject.easybackup.backup.interceptor.BackupBefore
锛�
杩斿洖鍊�: 杩斿洖鏄惁缁х画澶囦唤
閰嶇疆: easybackup.user.NAME.beforeClass
鍙傛暟榛樿鍊�:
BackupAfter 鍚庣疆鎷︽埅鍣�锛�cn.easyproject.easybackup.backup.interceptor.BackupAfter
锛�
杩斿洖鍊�:
閰嶇疆: easybackup.user.NAME.afterClass
鍙傛暟榛樿鍊�:
Sender 鍙戦€佸櫒锛�cn.easyproject.easybackup.sender.Sender
锛�
杩斿洖鍊�:
閰嶇疆: easybackup.[file|user].NAME.senders
鍙傛暟榛樿鍊�:
濡傛灉鎮ㄦ湁鏇村ソ鎰忚锛屽缓璁垨鎯虫硶锛岃鑱旂郴鎴戙€�
Email锛�inthinkcolor@gmail.com