#!/bin/sh usage() { echo "Usage: ${0} " exit 1 } get_hosts_json() { curl -s http://cloud23.cvtt.vpn:6789/admin/cvtt_hosts | ${HOME}/bin/hjson -j } get_user_hosts() { User=${1} Domain=${2} get_hosts_json | jq -r \ --arg domain "${Domain}" \ --arg usr "${User}" \ '.[$domain] | to_entries[] | select(.value.users[] | contains($usr)) | .key' } echo "Started ${0} ${*} ..." Domain=cvtt.vpn RootDir=${1} if [ ! -d "${RootDir}" ]; then usage fi cd ${RootDir} Cmd="git pull" echo ${Cmd} && eval ${Cmd} for User in cvtt oleg do echo "User=$User" hosts=$(get_user_hosts ${User} ${Domain}) mkdir -p ${RootDir}/${User} print ${hosts} exit 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="find -type f -empty -delete -print" echo ${Cmd} && eval ${Cmd} Cmd="find -type d -empty -delete -print" echo ${Cmd} && eval ${Cmd} 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} ${*}"