问题现象:

使用批处理脚本从linux端(samba server) 备份一些数据,设置计划任务每天凌晨两点定时备份。

1)、windows系统中映射共享文件夹为S:盘,需要输入共享用户名和密码

2)、脚本中使用xcopy命令复制共享目录中的文件到windows本地目录中。

脚本如下:

set Name=%date:~0,4%%date:~5,2%%date:~8,2%
chcp 65001
REM chcp防止中文乱码
mkdir "E:\脚本备份\bakscripts%Name%"
xcopy /E "S\*"  "E:\脚本备份\bakscripts%Name%\"

手工双击执行上述批处理文件没有问题,可以正常备份。

但是在计划任务中不行,脚本运行也设置了最高权限。把共享路径替换为本地路径就可以了,说明问题出现在共享路径中。

原因分析

在计划任务中执行该批处理文件并没有错误日志呈现,需要先改造脚本,后面把xcopy命令替换为功能强大的robocopy命令,可以方便的加上日志文件

set Name=%date:~0,4%%date:~5,2%%date:~8,2%
chcp 65001
mkdir "E:\脚本备份\bakscripts%Name%"
robocopy "\\192.168.30.11\share"  "E:\脚本备份\bakscripts%Name%" /LOG+:"E:\脚本备份\bakscripts.log" /E /V /ETA /MIR /MT:8

改为上面的脚本之后,日志中看有如下错误:

ERROR 1326 (0x0000052E) Accessing Source Directory \\192.168.30.11\share\
The user name or password is incorrect.

原来是没有权限造成的,并且也说明了计划任务中执行脚本时使用的环境(密码缓存等)和当前登录用户(手工执行批处理的用户)并不一致。后面需要解决掉共享文件的用户和密码就可以了。

解决方案:

windows 中使用net use方法来创建个共享管道

最终可以在计划任务中成功执行的脚本如下:

set Name=%date:~0,4%%date:~5,2%%date:~8,2%
chcp 65001
mkdir "E:\脚本备份\bakscripts%Name%"
net use \\192.168.30.11\share "共享密码" /user:"共享用户名"
robocopy "\\192.168.30.11\share"  "E:\脚本备份\bakscripts%Name%" /LOG+:"E:\脚本备份\bakscripts.log" /E /V /ETA /MIR /MT:8

批处理脚本手动双击可以执行,但计划任务中执行失败相关推荐

  1. php的foreach循环执行过程分析以及循环中执行unset()的一些问题

    文章目录 一.前言 二.foreach的执行过程 1.关于版本不同的foreach变化 2.关于引用计数 3.探寻foreach的运行过程 三.foreach中执行unset()的问题 1.当我们是为 ...

  2. python 执行shell 事务_python中执行shell的两种方法总结

    一.使用python内置commands模块执行shell commands对Python的os.popen()进行了封装,使用SHELL命令字符串作为其参数,返回命令的结果数据以及命令执行的状态: ...

  3. linux下执行python脚本并传入参数_实现在Java中执行python代码或py脚本(可传参数)...

    写在前面 最近用Java写服务端程序时,遇到这样一个需求:需要把用python写的机器学习算法部署到服务器上,然后Java执行py脚本,并且取得算法执行的结果.在网上找了很久,有些跑不通,有些是基于w ...

  4. php里面执行python,在php中执行python

    2011-08-25 美国人Jon写了个PiP,Python in Php项目,可以实现在php中调用python.Jon 79年出生在新泽西州,毕业于罗切斯特理工,曾于2002年合写 Profess ...

  5. php 执行mysql查询_php中执行mysql的常用操作

    连接到mysql服务器: $conn = mysql_connect($host,$user,$password) or die ("连接失败"); mysql_query($co ...

  6. python中执行shell命令_python中执行shell命令的几个方法小结-阿里云开发者社区

    Python 执行 shell 命令 最近有个需求就是页面上执行shell命令,第一想到的就是os.system os.system('cat /proc/cpuinfo') 但是发现页面上打印的命令 ...

  7. python 执行shell_python学习——python中执行shell命令

    这里介绍一下python执行shell命令的四种方法: 1.os模块中的os.system()这个函数来执行shell命令>>> os.system('ls') anaconda-k ...

  8. oracle执行存储过程06576,Oracle中执行存储过程call和exec区别

    在sqlplus中这两种方法都可以使用: exec pro_name(参数1..); call pro_name(参数1..); 区别: 1. 但是exec是sqlplus命令,只能在sqlplus中 ...

  9. oracle java赋予执行_在oracle中执行java例程

    oracle10g的oralceJVM支撑java1.4. 这让我们能用java做一些ps/sql不容易处理的任务,比如访问http资源等.这篇文章写个实例.首先创建java源码,所有method必须 ...

最新文章

  1. Python之装饰器入门
  2. 基于opencv的霍夫方法和RANSAC方法两种圆检测
  3. PyCharm个性化设置及注意事项
  4. 浅释一下,为什么要使用接口?
  5. 认识 react 的钩子函数
  6. nms python代码_?标检测中的?极?值抑制算法(nms):python代码解析
  7. python中从键盘输入列表_在python中为列表使用原始输入
  8. java equals getclass_Java equals()方法 – 子类中equals的语义如何确定getClass和instanceof的使用...
  9. javascript示例代码
  10. 论文阅读:CVPR2021 | Involution: Inverting the Inherence of Convolution for Visual Recognition
  11. IC卡读写器的应用有哪些?
  12. CTS测试中的testSensorOperations项
  13. 16.5 项目:向会员发送会费提醒电子邮件
  14. 查询快递 教你一个方法按照物流途径城市筛选签收地
  15. 计算机哪个按键可以和弦,钢琴键盘和弦图解大全!作曲必看!老师和家长快收藏起来...
  16. 用户sa登陆失败时,应该如何解决
  17. windowsNote(小便签)
  18. SpringCloud微服务-----skywalking链路追踪
  19. 话说 synchronized
  20. Oracle建表不设主键,oracle建表,设置主键,修改属性等

热门文章

  1. 【报告分享】致胜直播带货十大法则.pdf(附下载链接)
  2. pytorch3d在linux下安装
  3. PyTorch实战福利从入门到精通之六——线性回归
  4. fir数字滤波器设计与软件实现_基于FPGA低通滤波器的FIR的设计
  5. 计算机网络实验传输文件,湖大计算机网络实验-tcp文件传输实验
  6. python字符串一(字符串的书写输入输出)
  7. shapley值法 - 用边际收益衡量每个人的贡献
  8. 吴恩达机器学习作业Python实现(四):神经网络(反向传播)
  9. android gradle1,android studio gradle使用-(1)
  10. 山大网络教育线上作业计算机,山大网络教育《计算机基础》模拟参考答案.doc...