linux怎么写复制脚本?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux怎么写复制脚本?相关的知识,希望对你有一定的参考价值。
想写个脚本,就是指定的某文件夹,如果有更新,便把更新的内容、图片复制到另一个文件夹。
请问该脚本怎么写,请给出具体操作,谢谢^_^!
dir_source=/path/to/your_dir
dir_save=/path/to/save
sfile=$(ls -1 $dir_source)
for files in sfile
do
if [ ! -e $dir_save/$files ]; then #新文件在另外目录不存在
cp dir_source=/path/to/your_dir/$files $dir_save
elif [ $files -nt $dir_save/$files ]; then #在另外目录有同名文件存在,且有更新
cp dir_source=/path/to/your_dir/$files $dir_save
fi
done 参考技术B 列出文件夹下所有的文件名和更改日期,写入一个文件;写个脚本列出所有文件和更改日期,跟前面的文件比较,看多出哪些,执行复制,把新的列表写入那个文件;用cron定时执行这个脚本。追问
不会写,请给个实例,谢谢
追答只会用python写
import os,jsondir_a='c:\\\\a\\\\'
dir_b='c:\\\\b\\\\'
a=os.listdir(dir_a)
b=map(lambda x:os.path.getmtime(dir_a+x),a)
c=[dict((a[i],b[i])) for i in range(len(a))]
if os.path.isfile('log.txt'):
with open('log.txt','r') as f1:
d=json.loads(f1.read())
e=list(set(c)-set(d))
for j in e.keys():
os.system('cp %s%s %s'%(dir_a,j,dir_b))
with open('log.txt','w') as f0:
f0.write(json.dumps(c))
没考虑子目录
直接用cron定时运行
热心网友给出的脚本,你能帮我解释一下吗?
哪个是源文件夹?哪个是目标文件夹?
回答的是热心网友,可能没有百度帐号,问不了。
你写的那些我不明白,没基础。
最简单的参数就用 -a (归档模式),rsync -a fsource dest
你可以设置好你要的参数,把命令加到cronjob去以后就高枕无忧
Linux下编写一脚本,实现本目录下文件的批量复制。
老师要求bash编程编一脚本,不用这些个指令!
最简单的方式,使用 -r 选项进行递归复制。cp -r from/ dest/
如果只需要复制某个文件夹下面的特殊文件,可以使用 find 命令先找出这些文件,然后进行复制,例如:
将 from 目录下的所有.txt文件复制到 dest目录下:
find ./from/ -name "*.txt" -exec cp ./dest/ \; 参考技术A 脚本其实就是一些命令通过一定的结构组织起来的。
比如写个copy.sh脚本,内容如下:
#!/bin/sh
cp -a $1/* $2
然后给这个脚本执行权限 chmod a+x copy.sh
使用的时候 ./copy.sh from dest
就把from目录的内容全部复制到dest目录了。本回答被提问者和网友采纳
以上是关于linux怎么写复制脚本?的主要内容,如果未能解决你的问题,请参考以下文章