我正在运行一个批处理文件来备份 2012 Web 服务器上的一些 mysql 数据库。该批处理文件创建一个文件夹,然后针对每个数据库运行以下命令:
mysqldump -u *username* -p*Password* *db_name* > C:\folder&filename-%date:~-2,4%-%date:~-7,2%-%date:~-10,2%.sql
当我手动运行 bath 文件时,这工作正常,但是当我在任务计划程序中运行相同的批处理文件时,我得到的数据库为 0kb,没有任何内容。文件夹已创建,xyz.sql 文件也是如此,但仅此而已。
完全相同的脚本在我的 08 服务器上运行良好。
有什么想法吗?谢谢
答案1
有过几次这种情况。
打开本地安全策略>本地策略>用户权限分配
去 ”作为批处理作业登录”,添加您运行计划任务的用户账户并测试。
(更好的是,创建一个特定于此任务的服务帐户并使用它)
答案2
我已经解决了这个问题。运行任务计划程序时没有出现批处理文件,所以我看不出发生了什么。Brads 建议创建一个批处理文件来运行批处理文件,弹出了脚本,我立即看到了问题。它找不到 mysqldump 应用程序,因为它不在 cmd 当前目录 (system32) 中。
我添加了cd c:\folderlocationofmysqldump
,问题解决了。谢谢大家的帮助。