bat拷贝与powershell拷贝

通过脚本拷贝的效率比手动拷贝要快的多,很多备份任务都是通过脚本执行的。最近备份任务交给了我,备份项目很多,都是从一个服务器备份到另一个服务器,以前没搞过脚本,下面说说我的处理方法和感受。

1、备份环境

      数据源在各个服务器上,其中有一台是文件服务器,有防火墙(本人没有访问整个server的权限,只有一个路径的权限)。

      目标路径也是一台server(虚机)。

2、备份内容

      以当前日期为文件名备份各个任务

 3、备份方法

       3.1 bat脚本

             set y=%date:~0,4%%date:~5,2%%date:~8,2%

             xcopy 源路径 目标路径\%date:~0,4%%date:~5,2%%date:~8,2% /s /e /y

       3.2 powershell脚本

             Set-Location -Path \\目标路径
             echo "$pwd"
             $usedate = "{0:yyyy-MM-dd}" -f (get-date)
             $filepath = New-Item -name $usedate -ItemType directory
             $newfile = Get-ChildItem -name * -include $usedate
             cd $usedate
             #Copy-Item C:\bakup\* -Type file  –recurse
            Copy-Item -recurse C:\bakup\* .\
            exit

4、问题

      通过bat和powershell虽然已经实现了备份任务,但是我没有搞定定时任务的脚本。首先是我技术差,其次就是备份环境有点严格,服务器端有各种策略及防火墙,很多命令不能自动运行,都需要手动确认及身份验证。

      bat有点坑的是不能直接访问UNC路径,需要先将UNC映射到本地。网上有文章可以通过命令

      pushd %~dp0
      echo %cd%
      popd
      pause

实现UNC映射,但是我没有试了试不行。可能是我命令写错了。

powershell功能很强大,但是不能识别中文路径,手动执行脚本没有问题,自动运行一直显示找不到路径,甚是头疼。

最后就是我将脚本建立的服务器自带的任务计划中,结果发现脚本没有成功执行(脚本已经赋了本地管理员的权限)。

以上问题有哪位大神会的,请多多指点。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值