يوفّر هذا السكربت جردًا سريعًا على مستوى المشروع كله لآلاتك الافتراضية في Google Compute Engine. يحدّد المشروع من متغير البيئة GCP_PROJECT، ويعود إلى ما هو مضبوط في إعداد gcloud النشط، ويرفض العمل إن لم يتوفر أي منهما. يتأكد من تثبيت أداة gcloud، ثم يستدعي compute instances list. ولأن الأمر يبحث في كل المناطق افتراضيًا، ترى كل آلة بغض النظر عن مكانها. القوة الحقيقية في الخيار --format الذي يبني جدولًا مخصصًا. نستخدم التحويل basename() لإزالة عناوين الموارد الطويلة من حقلي المنطقة ونوع الآلة، تاركين قيمًا قصيرة مقروءة. كما نصل إلى أول واجهة شبكة لإظهار عنوان IP الداخلي، وعند وجوده عنوان NAT الخارجي، مع إعادة تسمية الأعمدة للوضوح. تُرتَّب النتائج حسب الاسم لمسح متوقع. هذا الأمر للقراءة فقط ومثالي كخطوة أولى في التدقيق أو مراجعات السعة أو تخطيط التنظيف.
عرض نسخ الحوسبة في GCP
إظهار كل آلة افتراضية في Compute Engine ضمن مشروع مع المنطقة ونوع الآلة والحالة وعناوين IP.
13 مشاهدة
مشاركة
السكربت
تحميل .shbash
#!/usr/bin/env bash
# List all Compute Engine instances across every zone in a GCP project.
set -euo pipefail
PROJECT="${GCP_PROJECT:-$(gcloud config get-value project 2>/dev/null)}"
command -v gcloud >/dev/null 2>&1 || { echo "gcloud CLI not found"; exit 1; }
[ -n "${PROJECT}" ] || { echo "No GCP project set"; exit 1; }
echo "Compute Engine instances in project: ${PROJECT}"
# --format with a table makes the output clean and column-aligned.
# Listing without --zones searches all zones automatically.
gcloud compute instances list \
--project="${PROJECT}" \
--format="table(
name,
zone.basename(),
machineType.basename(),
status,
networkInterfaces[0].networkIP:label=INTERNAL_IP,
networkInterfaces[0].accessConfigs[0].natIP:label=EXTERNAL_IP
)" \
--sort-by=nameكيفية التشغيل
راجع السكربت أولاً، ثم حمّله أو انسخه وشغّله في بيئتك.
قد يعجبك أيضاً
bashlinuxمتقدم
تنظيف صور AMI واللقطات القديمة
إلغاء تسجيل صور AMI القديمة بعد فترة الاحتفاظ وحذف لقطات EBS الداعمة لها.
bashlinuxمتوسط
إعادة تسمية الملفات بالجملة وفق نمط
يعيد تسمية ملفات كثيرة دفعة واحدة عبر استبدال sed مع معاينة آمنة.
bashlinuxمتوسط
نسخ احتياطي لكل قواعد بيانات MySQL باستخدام mysqldump
يُفرغ كل قاعدة بيانات MySQL في ملف SQL مضغوط مستقل.