Macos 为备份脚本捕获dscl命令的输出
我目前正在管理一组正在回收的Mac电脑,因此我们需要找到一种方法,使用Macos 为备份脚本捕获dscl命令的输出,macos,bash,shell,scripting,backup,Macos,Bash,Shell,Scripting,Backup,我目前正在管理一组正在回收的Mac电脑,因此我们需要找到一种方法,使用rsync自动将系统上的用户文件夹(不包括任何多余的帐户,如共享或root)一次性备份到网络共享 我想使用以下命令捕获每个用户的结果输出: $ dscl /Local/Default -list /Users UniqueID | awk '$2 >= 500 { print $1; }' 示例输出: John Bob 如果这不是解决此问题的最优雅的解决方案或方法(边学习bash),我深表歉意。但是,解析John和B
rsync
自动将系统上的用户文件夹(不包括任何多余的帐户,如共享或root)一次性备份到网络共享
我想使用以下命令捕获每个用户的结果输出:
$ dscl /Local/Default -list /Users UniqueID | awk '$2 >= 500 { print $1; }'
示例输出:
John
Bob
如果这不是解决此问题的最优雅的解决方案或方法(边学习bash),我深表歉意。但是,解析John和Bob的逐行结果(或某些n-results)的最佳方法是什么,为它们分配一个变量,并将结果赋给\Users\$RESULT
,然后将这些内容复制到\Volumes\Backup\$RESULT+DATESTAMP
最终,目标是基本上创建一个备份,将\Users\John
和\Users\Bob
备份到\Volumes\backup\John-5/5/15
和\Volumes\backup\Bob-5/5/15
,从上一个dscl
命令的结果中提取
谢谢你的帮助 如果我没弄错的话,下面这样的方法应该可以奏效
for name in $(dscl /Local/Default -list /Users UniqueID | awk '$2 >= 500 { print $1; }')
do
cp -r /Users/$name /Volumes/Backup/$name-$(date +%d.%m.%y)
done
我想你过去常常无意中分割目录,不是吗?此外,出于明显的原因,我从/切换到。日期格式。为什么不直接复制/Users中的目录,而不是摆弄dscl?我们有各种各样的计算机,它们有许多不同的帐户,用户数量可能在1到10个以上之间变化很大。我曾经想过单独做,因为这样会简化事情,但会消耗太多的时间。这就是为什么我们想找到一种方法,通过一次单击解决方案(一种“设置它,忘记它”的心态)来自动化每个用户的所有备份。