批处理脚本手动双击可以执行,但计划任务中执行失败
问题现象:
使用批处理脚本从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
批处理脚本手动双击可以执行,但计划任务中执行失败相关推荐
- php的foreach循环执行过程分析以及循环中执行unset()的一些问题
文章目录 一.前言 二.foreach的执行过程 1.关于版本不同的foreach变化 2.关于引用计数 3.探寻foreach的运行过程 三.foreach中执行unset()的问题 1.当我们是为 ...
- python 执行shell 事务_python中执行shell的两种方法总结
一.使用python内置commands模块执行shell commands对Python的os.popen()进行了封装,使用SHELL命令字符串作为其参数,返回命令的结果数据以及命令执行的状态: ...
- linux下执行python脚本并传入参数_实现在Java中执行python代码或py脚本(可传参数)...
写在前面 最近用Java写服务端程序时,遇到这样一个需求:需要把用python写的机器学习算法部署到服务器上,然后Java执行py脚本,并且取得算法执行的结果.在网上找了很久,有些跑不通,有些是基于w ...
- php里面执行python,在php中执行python
2011-08-25 美国人Jon写了个PiP,Python in Php项目,可以实现在php中调用python.Jon 79年出生在新泽西州,毕业于罗切斯特理工,曾于2002年合写 Profess ...
- php 执行mysql查询_php中执行mysql的常用操作
连接到mysql服务器: $conn = mysql_connect($host,$user,$password) or die ("连接失败"); mysql_query($co ...
- python中执行shell命令_python中执行shell命令的几个方法小结-阿里云开发者社区
Python 执行 shell 命令 最近有个需求就是页面上执行shell命令,第一想到的就是os.system os.system('cat /proc/cpuinfo') 但是发现页面上打印的命令 ...
- python 执行shell_python学习——python中执行shell命令
这里介绍一下python执行shell命令的四种方法: 1.os模块中的os.system()这个函数来执行shell命令>>> os.system('ls') anaconda-k ...
- oracle执行存储过程06576,Oracle中执行存储过程call和exec区别
在sqlplus中这两种方法都可以使用: exec pro_name(参数1..); call pro_name(参数1..); 区别: 1. 但是exec是sqlplus命令,只能在sqlplus中 ...
- oracle java赋予执行_在oracle中执行java例程
oracle10g的oralceJVM支撑java1.4. 这让我们能用java做一些ps/sql不容易处理的任务,比如访问http资源等.这篇文章写个实例.首先创建java源码,所有method必须 ...
最新文章
- Python之装饰器入门
- 基于opencv的霍夫方法和RANSAC方法两种圆检测
- PyCharm个性化设置及注意事项
- 浅释一下,为什么要使用接口?
- 认识 react 的钩子函数
- nms python代码_?标检测中的?极?值抑制算法(nms):python代码解析
- python中从键盘输入列表_在python中为列表使用原始输入
- java equals getclass_Java equals()方法 – 子类中equals的语义如何确定getClass和instanceof的使用...
- javascript示例代码
- 论文阅读:CVPR2021 | Involution: Inverting the Inherence of Convolution for Visual Recognition
- IC卡读写器的应用有哪些?
- CTS测试中的testSensorOperations项
- 16.5 项目:向会员发送会费提醒电子邮件
- 查询快递 教你一个方法按照物流途径城市筛选签收地
- 计算机哪个按键可以和弦,钢琴键盘和弦图解大全!作曲必看!老师和家长快收藏起来...
- 用户sa登陆失败时,应该如何解决
- windowsNote(小便签)
- SpringCloud微服务-----skywalking链路追踪
- 话说 synchronized
- Oracle建表不设主键,oracle建表,设置主键,修改属性等
热门文章
- 【报告分享】致胜直播带货十大法则.pdf(附下载链接)
- pytorch3d在linux下安装
- PyTorch实战福利从入门到精通之六——线性回归
- fir数字滤波器设计与软件实现_基于FPGA低通滤波器的FIR的设计
- 计算机网络实验传输文件,湖大计算机网络实验-tcp文件传输实验
- python字符串一(字符串的书写输入输出)
- shapley值法 - 用边际收益衡量每个人的贡献
- 吴恩达机器学习作业Python实现(四):神经网络(反向传播)
- android gradle1,android studio gradle使用-(1)
- 山大网络教育线上作业计算机,山大网络教育《计算机基础》模拟参考答案.doc...