捕获备份脚本的 dscl 命令的输出
Capture Output of dscl Command for Backup Script
我目前正在管理一批正在回收的 Mac,因此我们需要想出一种方法来自动将系统上的用户文件夹(不包括任何多余的帐户,如 Shared 或 root)一次性备份到网络使用 rsync
分享。
我想使用以下命令捕获每个用户的结果输出:
$ dscl /Local/Default -list /Users UniqueID | awk ' >= 500 { print ; }'
示例输出:
John
Bob
如果这不是解决此问题的最优雅的解决方案或方法,我深表歉意(边走边学 bash)。但是,解析 John 和 Bob(或某些 n-results)的逐行结果的最佳方法是什么,将结果分配给 \Users$RESULT
并将这些内容复制到 [=14] =]?
最终,目标是从 \Users\John
和 \Users\Bob
到 \Volumes\Backup\John-5/5/15
和 \Volumes\Backup\Bob-5/5/15
的基本备份,从上一个 [=19] 的结果中提取=] 命令。
感谢任何帮助!
如果我没理解错的话,像下面这样的东西应该可以解决问题。
for name in $(dscl /Local/Default -list /Users UniqueID | awk ' >= 500 { print ; }')
do
cp -r /Users/$name /Volumes/Backup/$name-$(date +%d.%m.%y)
done
我假设你不小心使用 \ 来分割目录,是吗?此外,出于明显的原因,我从 / 切换到 .日期格式。
我目前正在管理一批正在回收的 Mac,因此我们需要想出一种方法来自动将系统上的用户文件夹(不包括任何多余的帐户,如 Shared 或 root)一次性备份到网络使用 rsync
分享。
我想使用以下命令捕获每个用户的结果输出:
$ dscl /Local/Default -list /Users UniqueID | awk ' >= 500 { print ; }'
示例输出:
John
Bob
如果这不是解决此问题的最优雅的解决方案或方法,我深表歉意(边走边学 bash)。但是,解析 John 和 Bob(或某些 n-results)的逐行结果的最佳方法是什么,将结果分配给 \Users$RESULT
并将这些内容复制到 [=14] =]?
最终,目标是从 \Users\John
和 \Users\Bob
到 \Volumes\Backup\John-5/5/15
和 \Volumes\Backup\Bob-5/5/15
的基本备份,从上一个 [=19] 的结果中提取=] 命令。
感谢任何帮助!
如果我没理解错的话,像下面这样的东西应该可以解决问题。
for name in $(dscl /Local/Default -list /Users UniqueID | awk ' >= 500 { print ; }')
do
cp -r /Users/$name /Volumes/Backup/$name-$(date +%d.%m.%y)
done
我假设你不小心使用 \ 来分割目录,是吗?此外,出于明显的原因,我从 / 切换到 .日期格式。