我正在编写一个脚本来执行以下任务 我有这样的目录。
/家庭/用户/ AC
/家庭/用户/ NF
/家庭/用户/ TU
/家庭/用户/ MS
。 。 。 Ñ
在每个目录中都有2个文件夹,一个是Data,另一个是es Backup,就像这样。 /家庭/用户/ AC /数据 /家庭/用户/ AC /备份
我到目前为止的脚本是这样的。 找 。 -name数据类型d -maxdepth 2 -mindepth 2
但我需要的是一个脚本,它将所有内容都复制在“动态在/ home / user *下的所有目录中”的Data内部,并复制到每个用户的备份目录中。例如,像这样的东西。
cp / home / users / ac / Data / * / home / users / ac / Backup
我需要自动化的东西来循环/ home / users / *下的每个用户,并将数据从Data目录复制到每个用户的Backup目录。
我非常感谢您提前感谢任何帮助。
答案 0 :(得分:3)
简单应用for
循环和cp -R
将解决您的问题
cd /home/users
for i in ./*; do cp -Ra "$i"/Data/* "$i"/Backup/; done
答案 1 :(得分:1)
您可能需要查看使用rsync执行此操作。它很容易编写脚本,你可以使用cron来运行你的脚本。很久以前我曾经使用过一个名为mirrordir的实用工具,但它不再存在于Ubuntu存储库中。
快速搜索了本教程:http://www.abbeyworkshop.com/howto/unix/nix_rsync/index.html