Моя цель - подключиться к нескольким хостам по ssh, проверить, когда была изменена текущая ветвь, и, если старше 48 часов, пометить хост как доступный.В конце концов, мне нужно запланировать это как работу cron, но я еще не достиг этого уровня.
У меня есть это:
hosts="rick morty beth jerry summer"
extra_vars="release_branch=$1"
show_deployed_branches() {
for host in $hosts
do
if [[ ! -z "$branch_dir" ]]; then
branchstamp=`$SHELL_AS ssh -o StrictHostKeyChecking=no $host cat $branch_dir/* 2> /dev/null`
printf " [*] %s:\n%s\n" $host "$branchstamp"
else
branchstamp=`$SHELL_AS ssh -o StrictHostKeyChecking=no $host cat $branch_file 2> /dev/null`
printf " [*] %s: %s\n" $host "$branchstamp"
fi
done
}
Это покажет следующее:
[*] rick: GLIB-1111 on February 28 at 08:30 UTC by Birdman
[*] morty: BLEM-2371 on February 26 at 16:55 UTC by Birdman
[*] beth: AVAILABLE
[*] jerry: DOPE-12 on March 01 at 19:28 UTC by Birdman
[*] summer: MAIN on March 01 at 18:17 UTC by MrPoopyButthole
Если я хочу сделать Джерри доступным, я запускаю следующее:
release_box(jerry) {
$SHELL_AS ssh -o StrictHostKeyChecking=no $1 "echo 'AVAILABLE' > $branch_file" 2> /dev/null
echo " [*] Finished with $1"
Я знаю, что для этого требуется оператор if, но я нахожусь в тупике на следующих шагах.Я знаю, что заявление If необходимо, но не знаю, что прочитает измененную дату и определит, что она слишком старая.