我们可以利用flashfxp的队列文件来实现flashfxp对站点固定目录自动备份。原理很简单,当flashfxp在传送队列时,会自动建立一个队列文件*.fqf文件,队列传送完成时会自动删除此文件。那么我们可以手动添加要备份的队列并保存到其他目录,这样就可以实现每次都可以自动载入我们保存的队列了,加上windows的计划任务就轻松实现了flashfxp在windows下的自动备份功能。具体操作如下:
1、首先打开flashfxp进行登录,然后选择本地将要下载到本地的目录(重要:在添加队列之前一定要选择,要不然保存的队列会保存默认的下载路径为C:\\Documents and Settings\\Administrator\\My Documents下)如下图:2、接着选择远程服务器要自动备份的目录(按着Ctrl加鼠标点击选择多个目录)右键选择队列为,如下图:
3、在弹出的保存文件夹为,此处一般不用更改(本地保存的目录名)点确定就可以了,这时队列已经添加成功了,需要保存队列为.fqf文件,同样选中队列中的所有文件(Ctrl+a)右键选择保存队列,如下图:
4、将队列文件保存至我们事先准备好的目录C:\\autobak\目录下
5、建立了队列后,为了每次执行自动备份下载的时候遇到同样的文件不需要提示是否覆盖、跳过等,可以在选项-->文件存在的规则中设置成:
"文件较小时---覆盖" || "文件相同时--跳过" || "文件较大时---覆盖"
如果你想少传点数据,可以使用(一般不建议这样用,毕竟站点文件都一样,只是平时修改也是里边的代码)
"文件较小时---跳过" || "文件相同时--跳过" || "文件较大时---跳过" 如下图
6、为了让flashfxp打开就自动载入队列并开始任务
我们在C:\autobak\目录下建立一个批处理文件(如autobak.bat)代码如下:
1.dir C:\\autobak\\*.fqf /b > C:\\autobak\\files.log
2.for /f %%f in (C:\\autobak\\files.log) do (start D:\\Progra~1\\FlashFXP\\flashfxp.exe C:\\autobak\\%%f)
7、同时设置每次完成队列后所做的操作为自动关闭flashfxp窗口,要不然时间一长会开很多窗口的。打开选项-->参数设置-->找到传送设置传送完成时的操作,在这里我们选择退出 FlashFXP 并去掉显示确认前的勾。如下图:
9、接着将autobak.bat添加进系统的计划任务即可,相信大家都会。如有什么问题,可以留言给我,我会在第一时间回复大家。。
注意事项:
a、可能有些朋友遇到路径在纯DOS下老是出错的问题,因为DOS显示文件名只能显示8位。Programe files显示为Progra~1
b、另外在非“二进制”模式下,linux主机的下载下来的非图片文件,会和你的win系统的文件大小不一样,这样子,每次备份,都要下载除了图片、压缩文件外的其它文件,这样显然很费时间。而将其修改为“二进制”模式传输,则从linux主机FTP下载下来的文件和WIN主机的文件大小是相同的(不影响其使用),这样子,每次重新备份,就只下载修改过的文件了。
flashfxp和任务计划实现ftp自动定时备份
这几天一直看到落伍者上面的朋友说什么机房出问题啊,虚拟主机出问题什么的,然后就是数据丢失,痛心疾首啊。这几天我免费午餐的服务器没有了,只有放到别人那里了,更是担心网站的安全。
网上找了很多工具,要不就是功能太简单,要不就是功能强大,但是是收费的,而且价格很高,天机文件备份同步专家8.04 和 腾龙数据备份大师好像都可以满足我的要求,但是破解版找不到,只好自己diy。
首先在FlashFXP中将队列一一添加完毕。接下来打开FlashFXP安装目录,找到以当前日期命名的*.fqf文件,将其属性改为只读,这样的好处在于,本来flashfxp任务完成是会自动删除的,但是我们备份是要这个文件每天都是一样存在的,所以需要这样。
建立对了之后,为了今天ftp下载的时候遇到同样的文件不需要提示是否覆盖,跳过等,可以在选项\\"当文件存在先项"的设置中设置成:
"文件较小时---覆盖" || "文件相同时--覆盖" || "文件较大时---覆盖"
如果你想少传点数据,可以使用
"文件较小时---跳过" || "文件相同时--跳过" || "文件较大时---跳过"
为了让flash打开就自动载入队列并开始任务
可以在c:\建立一个批处理文件(.bat) 如 autobak.bat:
代码如下:
程序代码
CD X:\自动备份\\FlashFXP
For /F %%f in (files.log) do (del %%f)
dir *.fqf /b >files.log
For /F %%f in (files.log) do (start flashfxp.exe %%f)
其中X:\自动备份\\FlashFXP为你flashfxp的目录,为保持任务稳定建议这个文件夹不要和你现在常用的flashfxp相同,另外这些命令需要flashfxp3.0以上版本。
批处理文件其实在哪个目录是无所谓的。
打开计划任务,将那个批处理文件添加,根剧你需要更新的时间选择每周或每天,然后确定更新时间, 这样每到这个时间计划任务会自动打开那个下载队列文件,自动运行flashfxp从ftp下载文件,如果文件与目录更新过,它会自动对比文件,文件不符就更新,文件相同就跳过 。
这样就可以实现ftp自动定时备份了。
不过这样做,缺点很明显,不能实现真正的同步备份,即多余的文件不能被删除掉,另外如果正好那天晚上网站遭到破坏,然后你又覆盖备份了,那就比较惨了,建议另外做一个计划任务,一个星期备份一次的。备份的目录放到另外的地方。
下面是任务计划的一些状态说明:
检查任务状态
您应定期检查计划任务的状态,因为您有时可能不知道计划任务未能运行。 使用“任务计划”窗口中的“详细信息”视图来查看有关每个任务的以下信息: ? 计划 - 任务的计划
? 下次运行时间 - 任务下次计划运行的时间和日期。
? 上次运行时间 - 任务上次运行的日期和时间。
? 状态 - 任务的当前状态。
? 上次结果 - 表明上次运行结果的代码。
“状态”列有以下状态和说明: ? 空白 - 任务没有运行,或它已经成功地运行完毕。
? 正在运行 - 任务当前正在运行。
? 错过 - 错过一次或多次运行此任务的尝试。
? 未能启动 - 最近启动任务的尝试失败。
“上次结果”列显示完成代码。 您可从 MSDN 获取对所有 Windows 完成代码的完整解释,但是“任务计划”的常用代码为: ? 0x0: 操作已成功完成
? 0x1: 调用的函数不正确或调用了未知函数。
? 0xa: 环境不正确。
如果结果代码的格式为“C0000XXX”,则说明任务未成功完成(“C”表示错误状况)。 最常见的“C”错误代码是 0xC000013A: 应用程序因按了 CTRL+C 而被终止。
还要在任务的“属性”中检查以下数据: ? 确保启用该任务的复选框有复选标记。
? 检查程序的路径并确保它正确无误。 还要检查程序,看是不是您未能输入它需要的一些命令行参数。
检查“任务计划”的日志
“任务计划”在 %SystemRoot% 文件夹(通常为 C:\\Windows)中维护一个日志文件 - SchedLgU.txt。 您可从任务计划窗口中通过以下方法来查看日志:单击高级,然后单击查看日志。
日志文件的大小是 32KB,当日志文件达到其最大大小时,它自动从文件的开头开始记录新信息并覆盖旧的日志文件信息。