问题描述:
有什么方法可以实现每天定时在某个时候拷贝指定的文件夹,例如是 d:\A 文件
夹里面的文件filename.xls,然后复制凯信缓到e:\B文件夹里面,起名为
filename***********这样,然后每盯模天复制的时候都自动在名字后面加上当天日期以便区分。
解析:
在控制面板中坦衡,打开“计划任务”然后再进行设置,也许能够实现你的想法。
有时候,我们会遇到需要将本地文件定时复制到远程主机的情况。解决这个问题的思路是:
1、编写复制文件脚本
2、利用Windows计划任务定时执行脚本
逻辑是简单的清楚的,但是在实际 *** 作过程团虚侍中,却可能有很多细节。
脚本内容:
net use \\net_host_ip_address\ipc$ password/user:username
xcopy /e /H "C:\backup" "\\10.144.129.17\share_dir\"
说明:誉升
与本地cop不一样,网络之间的copy需要使用到用户名和密码,所以脚本的第一句是指定网络主机的几个参数:
net_host_ip_address:提供共享目录的主机的ip地址(或者主机名)
password:能够访问共享目录的用户名
username:访问共享目录的用户名
#第二行比较简单,
/e和/h都是xcopy提供的参数,"C:\backup"是要拷贝的文件夹(xcopy比较恶心人的是,并不能将根目录一起复制,只能复制目录下面的所有文件,
比如本次目录,要想连同backup一起拷贝,除非在backup上面还有一层目录)。最后一段就是网络位置
设置定时任务:
这里需要说明的是:
因为我们要设置的是定时任塌吵务,所以选择【不管用户是否登录都要执行】;因为我们要将本地资源复制到网络位置,
所以下面的不要存储密码一定不要选;
这里我们要说的是其实位置:在windows server 2012 R2下,起始位置选择上一步程序或脚本的存储位置
业务需求:定时从path1中取文件,复制到path2中
主镇腊要解释第7行
分3部分:
既然上述命令输出的是一串字符串,则不可避免需要做拍余切割。
对于一行字符串str="aaa,bbb,vvv,ccc"
直接利用${str[@]}就可以获得分割后的列表。那么,如何定义分隔符呢?
IFS=$','御贺滑
IFS是系统自带的一个变量,储存着分隔符,默认好像是空格。可以自定义
上面脚本中就是定义了IFS为换行符。
脚本后半部分就是依次处理文件,判断目标文件夹是否已有该文件,如果没有,就复制。
项目中源文件夹的文件是每个几分钟会增加一个,相当于上述脚本要每隔一段时间运行一次,以确保源文件夹和目标文件夹里的内容同步。
crontab讲解1
crontab讲解2
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)