■ユーザ毎のスクリプトをバックアップ
1.CentOSのUIDは500から振られる。debianのUIDは1000から振られる。
2.ディスクの空き容量を考慮していない。
3.UIDが65534なのはnobody。
4.シェル名に空白や2バイト文字、勝手な記号を入れるおかしなユーザは考慮しないし、
そういうユーザにバックアップを邪魔させない。
「grep -v」で空白は明示的に破棄。
「grep」で、対象を「[A-z0-9\._-]*.sh」に制限。
※わざわざ「.bash」や「.csh」とする人も対象外。
何の為の1行目の指定だか分からなくなるので。。。
まあ、そこは汲み取っても良いとするなら、書き換えてください。。。
また、「-」も許可しない古い人ならそうしても良いです。。。
5.「xargs」で捌き切れない量か、捌ききれるか不明なら、一度ファイルに落としたほうが良い。
目安は「20x1024」未満で、条件があるので、「man xargs」を参照。
■root権限で。
for localuser in `xargs`;do \
find / -user $localuser -type f -iname "*.sh" -print | \
grep -v " " | \
grep "[A-z0-9\._-]*.sh" | \
tar zcvf ${localuser}_`date '+%Y%m%d'`.tar.gz `xargs`; \
done