iankelling.org
/
git
/
distro-setup
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
minor improvements
[distro-setup]
/
rootsshsync
diff --git
a/rootsshsync
b/rootsshsync
index d3e860b30c0109c38a32f78f0d2a32641d0fa921..97d2d2f779919413058d70b1ec8282a2a468682e 100755
(executable)
--- a/
rootsshsync
+++ b/
rootsshsync
@@
-19,12
+19,19
@@
trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
[[ $EUID == 0 ]] || exec sudo "$BASH_SOURCE" "$@"
if test -e /q/root/.ssh; then
[[ $EUID == 0 ]] || exec sudo "$BASH_SOURCE" "$@"
if test -e /q/root/.ssh; then
- /a/exe/lnf /q/root/.ssh /root
+ dest=/q/root/.ssh
+ /a/exe/lnf $dest /root
else
else
- mkdir -p /root/.ssh
- chmod 700 /root/.ssh
+ dest=/root/.ssh
+ mkdir -p $dest
+ chmod 700 $dest
fi
fi
+
+user_ssh_dir=$(eval echo ~${SUDO_USER:-$USER})/.ssh
+
+# remove broken links, or else rsync has error about them.
+find $user_ssh_dir -xtype l -exec rm '{}' \;
# -t times, so it won't rewrite the file every time,
# -L resolve links
# -t times, so it won't rewrite the file every time,
# -L resolve links
-rsync -rtL
$(eval echo ~${SUDO_USER:-$USER})/.ssh /roo
t
+rsync -rtL
--delete $user_ssh_dir/ $des
t
chown -R root:root /root/.ssh
chown -R root:root /root/.ssh