当前位置:首页 >> 服务器

windows2008系统中rsync计划任务返回0x1问题处理

最近遇见一个奇怪的现象,在做某系统的定期备份的时候使用到了非系统自带Rsync命令,但是手动启动没问题,而且又非常期望批量化在多台主机上进行,怎么办呢?Windows Server 2003下面这样执行任务计划没问题,而就Windows Server 2008 R2下面出现意外。

正常情况下我们的任务计划会有反馈数值,通过它可以判断这个任务计划上次是否运行正常(详细连接:http://support.microsoft.com/kb/267031/)。

· 代码 0 或 0x0:操作成功完成。

· 代码 1 或 0x1:调用的函数不正确或调用了未知函数。

· 代码 10 或 0xa:环境不正确。

· 代码 0x8009000f:常规访问被拒绝

windows2008系统中rsync计划任务返回0x1问题处理

Figure 1看到上次运行结果出现非0情况

这种非〇情况表示的是不能被接受的。

通过对这个批处理设置断点,我看到了这样的报错信息。

windows2008系统中rsync计划任务返回0x1问题处理

Figure 2在批处理中加入Pause 进行断点,查看错误信息

很明显,这个rsync不是系统自带的程序和文件,因此无法被系统直接调用,猜测和环境变量有关,仔细寻找Windows Server 2008 R2 下面的任务计划选项,我看到了这个填空的地方。

windows2008系统中rsync计划任务返回0x1问题处理

Figure 3起始于(可选)项

我将这个填写成了该条脚本的所在的目录,再次运行该任务计划,得到返回成功的标记,并且在服务本分服务器端受到相应的备份内容。

这里回顾一下,两个版本操作系统的任务计划的不一样,Windows Server 2003 下面可以选择的内容,项目并不多,不过他默认的情况下会将起始于填写进去,使用的就是所在脚本的上一级目录。

windows2008系统中rsync计划任务返回0x1问题处理

Figure 4 Windows Server 2003 下面的起始于,默认被填写

因此设置Windows Server 2008 ,2012这样的基于Nt6核心的系统的任务计划的时候建议将起始于进行一下设置。