ubuntu脚本从一个目录到另一个目录的cp

时间:2011-08-12 15:45:46

标签: shell ubuntu

我正在编写一个脚本来执行以下任务 我有这样的目录。

/家庭/用户/ 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目录。

我非常感谢您提前感谢任何帮助。

2 个答案:

答案 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