50 lines
1.1 KiB
Bash
Executable File
50 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
usage() {
|
|
echo "Usage: ${0} <local_root_dir>"
|
|
exit 1
|
|
}
|
|
|
|
echo "Started ${0} ${*} ..."
|
|
|
|
Domain=cvtt.vpn
|
|
RootDir=${1}
|
|
|
|
if [ ! -d "${RootDir}" ]; then
|
|
usage
|
|
fi
|
|
cd ${RootDir}
|
|
|
|
for User in cvtt oleg
|
|
do
|
|
echo "User=$User"
|
|
# hosts=$(curl -s http://cloud23.cvtt.vpn:6789/admin/cvtt_hosts | jq -r --arg domain "${Domain}" --arg usr ${User} '.[$domain] | to_entries[] | select(.value.users[] | contains($usr)) | .key')
|
|
hosts=$(
|
|
curl -s http://cloud23.cvtt.vpn:6789/admin/cvtt_hosts | jq -r \
|
|
--arg domain "${Domain}" \
|
|
--arg usr "${User}" \
|
|
'.[$domain] | to_entries[] | select(.value.users[] | contains($usr)) | .key'
|
|
)
|
|
mkdir -p ${RootDir}/${User}
|
|
for host in ${hosts}
|
|
do
|
|
echo "===================="
|
|
echo "${host}:${User}"
|
|
Cmd="ssh ${User}@${host}.${Domain} 'crontab -l' | tee ${RootDir}/${User}/${host}.cron"
|
|
echo ${Cmd} && eval ${Cmd}
|
|
done
|
|
done
|
|
|
|
cd ${RootDir}
|
|
|
|
Cmd="git add ."
|
|
echo ${Cmd} && eval ${Cmd}
|
|
|
|
Cmd="git commit -a -m '$(date)'"
|
|
echo ${Cmd} && eval ${Cmd}
|
|
|
|
Cmd="git pushall"
|
|
echo ${Cmd} && eval ${Cmd}
|
|
|
|
echo "Done ${0} ${*}"
|