Mohammad Parvin
Mohammad Parvin
خواندن ۳ دقیقه·۶ سال پیش

بَش و عشق (Bash & Love)


همیشه وقتی با کامپیوتر کار می کردم انجام دادن بعضی کارهای تکراری واقعا عذابم میداد.

این که بخوام هر روز برم سایت BlacklistAlert.org و آی پی سرورهای مشتری ها رو تک تک وارد کنم و ببینم آیا توی لیست سیاه هستند یا نه و بعد اگر در لیست سیاه بودند بخوام توی سرور بگردم دنبال اینکه چه کسی ایمیل اسپم ارسال کرده و باعث شده آی پی سرور اسپم شناخته بشود.

یا اینکه بخوام هر هفته یک گزارش از مقدار ترافیک سرور و وضعیت اتک هایی که سرور داشته برای مالک ارسال کنم.

بخوام روزانه و هفتگی از سرورهایی که مسئولیتشون به عهدم هست یک بک آپ بگیرم و توی سیستم لوکالم و توی یک کلاد بریزم.(واقعا سخته مخصوصا با اینترنتی که سرعت دانلود و آپلودش یکم از سرعت لاکپشت بیشتره)

تا به لطف استاد گرانقدر و بزرگوارم مهندس حاجی غلامعلی ، با شل اسکریپت نویسی و Bash آشنا شدم.

قبل از آشنایی اسم اسکریپت نویسی زیاد به گوشم خورده بود و حقیقتا از کسایی شنیده بودم که زیاد رابطه خوبی باهاشون نداشتم، درنتیجه باوجود اینکه آشنایی نداشتم خوشم نمیومد. ?

مسخرست!! اینکه با چیزی آشنایی نداری و ازش بدت میاد( در مورد این مشکل کمی اینجا توضیح دادم: چرا بدت میاد؟)

از زمانی که دوره Bash رو هم پیش مهندس حاجی غلامعلی گذروندم، از شر خیلی از کارهای تکراری راحت شدم.

اولین کاری که بعد از یادگرفتن کردم یه اسکریپت نوشتم که یک لیست IP بهش میدادم و یک آدرس ایمیل

کافیه این اسکریپت رو بذارم توی فایل Cron سرورم که راس ساعتی که میخواستم اجرا بشه و برام یک لیست از سرورهایی که اسپم شده اند رو ایمیل کنه

بعدا این اسکریپت رو Open source کردم و قابلیت ارسال گزارش علاوه بر ایمیل به تلگرام رو هم اضافه کردم.

سورس کد این اسکریپیت اینجاست: Bash DNSL

دومین کاری که کردم نوشتن یک اسکریپت برای گرفتن بک آپ از فایل ها و دیتابیس های توی وب سرورها بود.

این اسکریپت رو به زودی بصورت آزاد توی گیت هاب منتشر میکنم.

این اسکریپت یک بک آپ از دیتابیس ها بصورت روزانه تهیه می کنه و یک بک آپ از فایلها بصورت هفتگی(بخاطر حجم بالای فایل ها) و بعد از تهیه بک آپ یک نسخه رو هم توی سیستم کلاد از طریق FTP آپلود می کنه.

عشق من به شل اسکریپت نویسی و بیشتر به Bash بخاطر این هست که از انجام کارهای تکراری به شدت بیذارم و Shell scriptiong کمکم کرده که از شر کارهایی تکراری و روزمره راحت بشم.

حالا چرا Bash چرا شل های دیگه رو انتخاب نکردم.

دارم کمی با zsh کار میکنم یاد بگیرم، ولی در کل بعضی وقتها هست سروری رو میگیری که اجازه نداری روش برنامه ای نصب کنی و فقط باید از ابزارهای موجود استفاده کنی، خب مسلما توی این حالت هیچ خبری از zsh و ksh و بقیه نیست و مجبور هستم که اسکریپت Bash اجرا کنم.

در کل عاشق اسکریپت نویسی هستم و پیشنهاد می کنم اگر میخواید کارهای تکراری توی کامپیوتر رو انجام ندید اسکریپت نویسی رو یاد بگیرید.

کسایی که ویندوز دارند هم میتونن Powershell رو یاد بگیرند.

اگر شما هم تجربه ای از استفاده از شل لینوکس دارید توی کامنت ها بنویسید تا بقیه هم بتونن از تجربه شما استفاده کنند.

بشاسکریپت نویسی لینوکسشل اسکریپت
Senior Sysadmin with hands-on experience with Linux, Bash Scripting, Docker, Python, Galera, Ansible, Git, CI/CD, Automation and DevOps processes
شاید از این پست‌ها خوشتان بیاید