标签:tmp 解决办法 文件 命令 mv linux 迁移 smb
背景:使用mv对服务器文件进行迁移的过程中,因为网络中断,所以迁移到一半被停止了。
现状:有一部分文件没有迁移完,但是文件夹已经存在了,重新mv提示文件夹已经存在,切已经有文件,所以不能删除
重点提示:如果远程迁移服务器上的文件或者其他耗时较长的的命令,一定要加在命令的最后加 & 字符。让命令在后台运行,这样就算本地到服务器的网络中断了,命令也不会被中断
解决方法:
在网上找了资料,发现没有能直接简单复制的方法,所以用以下两条命令进行剩余文件的迁移
cd /trans/data/smb
#/trans/data/smb表示待迁移文件所在的源目录,之所以要进入这个目录执行命令,是因为find进行查找的时候,使用相对路径的话,后续能直接拼接到目标目录
find ./ -type f > /tmp/tmp_20220115.txt
#查看当前目录还有哪些文件待迁移的,然后写入临时文件
while read i; do mv "$i" "/data/smb/$i"; done < /tmp/tmp_20220115.txt
#读取临时文件中的文件列表,逐个文件进行迁移
#用while循环是因为文件中会有空格,如果用for的话,会将类似Red Hat这种文件夹拆分成Red和Hat,不符合实际的情况
#如果迁移过程中报错目录不存在的,执行mkdir -p 《目录的绝对路径》命令创建目录后重新执行迁移命令
标签:tmp,解决办法,文件,命令,mv,linux,迁移,smb 来源: https://www.cnblogs.com/ly6161/p/linux-mv-ming-ling-zhong-duan-de-jie-jue-ban-fa.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。