Last active
January 18, 2024 10:13
-
-
Save kholisrag/a4d814223570350aa15bd5dc3faa69a1 to your computer and use it in GitHub Desktop.
List All CronJob in an List of Instances defined in `instances.cfg` with gcloud compute network tags
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
instance_list="instances.cfg" | |
date=$(date +'%FT%TZ') | |
mkdir -pv $(pwd)/cronjob-logs | |
mkdir -pv $(pwd)/cronjob-logs/$date | |
while read instance_name <&3 | |
do | |
echo "----------------------------------------------" 2>&1 | tee -a $(pwd)/cronjob-logs/$date/$instance_name-cronjob.log | |
echo "CronJob List for Instance : $instance_name" 2>&1 | tee -a $(pwd)/cronjob-logs/$date/$instance_name-cronjob.log | |
ssh $instance_name 'for user in $(sudo cut -f1 -d: /etc/passwd); do echo "CronJob for User : $user" && sudo crontab -u $user -l; done' 2>&1 | tee -a $(pwd)/cronjob-logs/$date/$instance_name-cronjob.log | |
echo "----------------------------------------------" 2>&1 | tee -a $(pwd)/cronjob-logs/$date/$instance_name-cronjob.log | |
echo "List of Network Tags of Instance : $instance_name" 2>&1 | tee -a $(pwd)/cronjob-logs/$date/$instance_name-cronjob.log | |
gcloud compute instances describe $instance_name --format='get(tags.items)' | tr ';' '\n' | grep -v '^$' 2>&1 | tee -a $(pwd)/cronjob-logs/$date/$instance_name-cronjob.log | |
echo "----------------------------------------------" 2>&1 | tee -a $(pwd)/cronjob-logs/$date/$instance_name-cronjob.log | |
done 3< <(grep -v '^#' ${instance_list}) | |
echo "CronJob List are available at $(pwd)/cronjob-logs/$date" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment