ops/cronjobs/save_cronjobs.sh
2024-07-31 11:34:58 -04:00

49 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}"
ssh ${User}@${host}.${Domain} 'crontab -l' | tee ${RootDir}/${User}/${host}.cron
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} ${*}"