【发布时间】:2014-05-08 03:18:14
【问题描述】:
我正在创建一个作为服务运行的程序,并在白天的某些时间点进行数据库备份(使用 pg_dump.exe)。该服务运行正常,但当您尝试将它们放入网络驱动器时无法进行备份。如果我停止服务并手动运行可执行文件,它可以正常工作。
以下是程序写入命令行以运行备份的示例:
"E:\Program Files\PostgreSQL\9.3\bin\pg_dump.exe" -Ft -f "\\<computer name>\Backups\DBBackup" -U postgres -h <computer name> -p 5432 <Database Name>
我尝试使用\\<computer name>\<backup directory>\ 语法来定位网络驱动器的位置,并且我还尝试使用我计算机上的驱动器号 (S:\<backup directory>)。当程序手动运行时,这两个选项都起作用,但当它作为服务运行时,它们都不起作用。我尝试在系统事件查看器日志中查找错误,但没有发现任何相关内容。
总而言之,程序在作为服务运行时会成功备份,但如果它试图将备份写入网络驱动器则不会。当程序手动运行(不是作为服务)时,它会成功写入网络驱动器。
有人知道为什么会这样吗?
【问题讨论】:
-
拜托,如果你要否决我的问题,请至少告诉我为什么......
标签: windows-services exe network-drive pg-dump srvany