我正在尝试使用亚马逊的云存储服务 S3 构建一个自动后台备份程序来备份我的整个网站及其大量照片文件夹。
我正在使用 S3Tools 中的 S3Sync,并已成功测试了仅使用命令行窗口的虚拟备份。当我将工作命令行保存到批处理文件 (.BAT) 并让 Windows 计划调用它时,它不起作用。
我只能认为这与命令行中设置的本地路径有关。如果我进入我的服务器并从“开始”按钮打开命令提示符,则命令提示符的默认值为:
c:\Documents and Settings\administrators>_
如果我进入我的服务器并转到 c:\windows\system32 目录并打开 cmd.exe,则默认设置是:
c:\windows\system32>_
这让我认为这就是问题所在,我认为我在运行时得到了类似这样的结果:
c:\windows\system32c:\home\p\h\photos\private\s3sync\s3sync.exe
解决这个问题的合理方法是什么?首次加载命令提示符处理器时,我可以更改其默认目录吗?或者有没有办法更改批处理命令代码以正确使用本地路径?也许这根本不是问题,而是其他问题?
非常感谢您的帮助。
我的命令行代码:
c:\home\p\h\photos\private\s3sync\S3Sync.exe -AWSAccessKeyId xxx -AWSSecretAccessKey xxx -SyncDirection upload -LocalFolderPath "C:\home\p\h\photos\www\assets_web2" -BucketName op-photos-web -RequestEndpoint s3-eu-west-1.amazonaws.com
答案1
您可以在 .bat 文件中设置目录:(就您而言)在调用 S3Sync.exe 之前,输入 cd "C:\home\p\h\photos\private\s3sync\"。由于它位于同一驱动器上,因此您应该可以进入该路径。
如果文件位于不同的驱动器上,则在调用应用程序 EXE 之前发出 C:\(或您想要导航到的任何驱动器)也会更改为该驱动器。
其他方法还包括在任务计划程序下的属性中设置计划任务的起始路径:
在 Server 2003 上:在“任务”选项卡下,相应编辑“开始于”输入框
在 Server 2008 上:在“操作”选项卡下,编辑适当的操作并相应地设置“开始于(可选):”。
希望能帮助到你!