我的目标是将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
如果我想让Jerry可用,请运行以下命令:
release_box(jerry) {
$SHELL_AS ssh -o StrictHostKeyChecking=no $1 "echo 'AVAILABLE' > $branch_file" 2> /dev/null
echo " [*] Finished with $1"
我知道这需要一个if语句,但是我在接下来的步骤中感到困惑。我知道需要If语句,但不知道会读取修改后的日期并确定其过旧。