我已经编写了 PostgreSQL 备份脚本,将所有数据库备份到文件。
pgAgent.exe
(调度守护进程)在本地 postgres 用户下启动 BAT 脚本。
正常设置是备份到本地驱动器并让备份程序获取文件,但我们有一个客户端想要备份到网络驱动器。
我尝试在管理用户下运行 pgAgent 并扩展脚本,但仍然没有任何运气。(与具有驱动器映射的用户相同)
runas.exe /user:postgres cmd.exe
当我通过运行并输入登录到 postgres 用户时,cd /D Z:
出现错误The system cannot find the drive specified.
现在,据我所知,网络驱动器是根据每个用户会话映射的。是否有从命令提示符访问网络驱动器的特殊技巧?
答案1
REM Mount Z:\ as the user with permissions; you may need to add the password
net use z: \\server\share /user:domain\user
REM copy things here
REM ...
REM unmount the drive letter
net use z: /d
答案2
如果网络共享共享给“所有人”,则您可以使用net use Z: \\SERVERNAME\SHARE