Foxtable(狐表)用户栏目专家坐堂 → 想写一个自动备份项目的定时任务(一小时备份一个)。


  共有12234人关注过本帖树形打印复制链接

主题:想写一个自动备份项目的定时任务(一小时备份一个)。

帅哥哟,离线,有人找我吗?
程兴刚
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7253 积分:40736 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/9/2 14:33:00 [显示全部帖子]

您就不能在计划执行中设置代码并指定间隔时间?

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7253 积分:40736 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/9/3 0:18:00 [显示全部帖子]

那是您没动脑子,发文件,简单搞定!

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7253 积分:40736 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/9/3 18:45:00 [显示全部帖子]

下面的代码放在计划中,即可定时备份,不怕系统死机,最小间隔可谓1%秒,建议至少5分钟以上间隔:

 

Syscmd.Project.Backup() 

FileSys.CopyFile("备份路径\项目名称_" & format(date.today.month,"00") &  format(date.today.Day,"00") & ".zip","f:\按时备份\管理项目2_" & Date.Today.year & format(Date.Today.month,"00") & format(Date.Today.day,"00") & Format(Date.now,"T").Replace(":","") & ".zip")

 

 

说明:

    1、备份路径\项目名称      这里的备份路径是您所设置的路径,项目名称是您的项目的名称;

    2、f:\按时备份\           这个路径是您要重新备份的路径,您自己来设置;

    原理:执行备份命令后再将备份即时按照当前时间保存为新的文件,相信大家都看得懂。

[此贴子已经被作者于2012-9-3 19:10:42编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7253 积分:40736 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/9/3 19:18:00 [显示全部帖子]

这样改进后可以悄无声息地备份,还可以避免用户修改文件名导致错误:

 

Syscmd.Project.Backup(True)
FileSys.CopyFile("d:\管理项目2_" & format(Date.today.month,"00") &  format(Date.today.Day,"00") & ".zip","f:\按时备份\管理项目2_" & Date.Today.year & format(Date.Today.month,"00") & format(Date.Today.day,"00") & Format(Date.now,"T").Replace(":","") & ".zip")
FileSys.DeleteFile("d:\管理项目2_" & format(Date.today.month,"00") &  format(Date.today.Day,"00") & ".zip")

 

下面是示例文件:

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7253 积分:40736 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/9/3 19:36:00 [显示全部帖子]

为了避免每一天的最后一秒备份可能会出现的问题(这个问题只能是中500万大奖的朋友才能赶得上),再优化一下就是这样:

 

Dim n As Date = Date.now
Syscmd.Project.Backup(True)
FileSys.CopyFile("d:\管理项目2_" & format(n.month,"00") &  format(n.Day,"00") & ".zip","f:\按时备份\管理项目2_" & n.year & format(n.month,"00") & format(n.day,"00") & Format(n,"T").Replace(":","") & ".zip")
FileSys.DeleteFile("d:\管理项目2_" & format(n.month,"00") &  format(n.Day,"00") & ".zip")


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7253 积分:40736 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/9/3 19:42:00 [显示全部帖子]

这是设置为间隔1分钟备份的项目文件:

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7253 积分:40736 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/12/26 10:45:00 [显示全部帖子]

升级后用系统自帶的命令,这个已经用不着了!

 回到顶部