在我的应用程序中,需要能够为我的sql数据库自动备份创建计划作业
我可以使用Spring Quartz Scheduling来创建这个Jobs吗?
任何帮助都会有用 .
Amulraj.P
是的,你可以,虽然看起来有点矫枉过正 . 可以使用命令行工具来备份MSSQL数据库,如果您在Windows上使用Unix或计划任务,则可以使用cron轻松安排运行 .
%PATH_TO_SQL_SERVER%\Tools\Binn\osql.exe -E -Q "BACKUP DATABASE mydb TO DISK='%PATH_TO_BKP%\db.bak' WITH FORMAT"
对你提问,答案是这样的:(来自here的无耻自我复制)
该作业引用您的业务对象,该业务对象具有负责备份的方法:
<bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject" ref="exampleBusinessObject" /> <property name="targetMethod" value="backupDB" /> <property name="concurrent" value="false" /> </bean>
负责触发方法的触发器:
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail" ref="exampleJob" /> <!-- run every morning at 6 AM, use regular cron expressions--> <property name="cronExpression" value="0 0 6 * * ?" /> </bean>
schedulerFactoryBean用于连接触发器:
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="cronTrigger" /> </list> </property> </bean>
请参阅Spring documentation中的2.5,here for 3.0 .
1 回答
是的,你可以,虽然看起来有点矫枉过正 . 可以使用命令行工具来备份MSSQL数据库,如果您在Windows上使用Unix或计划任务,则可以使用cron轻松安排运行 .
对你提问,答案是这样的:(来自here的无耻自我复制)
该作业引用您的业务对象,该业务对象具有负责备份的方法:
负责触发方法的触发器:
schedulerFactoryBean用于连接触发器:
请参阅Spring documentation中的2.5,here for 3.0 .