🌱 Tự động hóa tác vụ với Bash Script

🌱 Tự động hóa tác vụ với Bash Script

    Có bao giờ bạn cảm thấy mất thời gian và công sức khi cứ phải lặp lại thao tác gõ những lệnh dài dòng và khó nhớ trên Terminal? Bài viết trước mình có giới thiệu về các tools và ngôn ngữ Script để tự động hóa các công việc đơn giản cho lập trình viên. Một trong những công cụ đó là Bash, ngôn ngữ cho phép bạn viết những câu lệnh cmd ở một chỗ nào đó và sau đó chỉ cần lấy ra chạy.

    Bash Script là một trong những công cụ mạnh mẽ nhất dành cho lập trình viên, quản trị viên hệ thống và bất kỳ ai làm việc với hệ điều hành Linux/Unix, Bash cũng hỗ trợ chạy trên Windows. Với khả năng tự động hóa các tác vụ lặp đi lặp lại, Bash Script giúp tăng hiệu quả làm việc, tiết kiệm thời gian và giảm thiểu sai sót.

Bash Script và ứng dụng

    Bash Script là một tập hợp các câu lệnh được viết dưới dạng file văn bản, dùng để tự động hóa các tác vụ trên hệ điều hành Linux/Unix. Bash (Bourne Again Shell) là một shell thông dụng, được sử dụng để thực thi các tập lệnh này. Bash Script giúp bạn thực hiện các công việc như quản lý file, xử lý dữ liệu, hoặc quản lý hệ thống chỉ với vài dòng lệnh.

    Dưới đây là một số ứng dụng của Bash Script:

1. Quản lý hệ thống

    Bash Script được sử dụng rộng rãi trong quản trị hệ thống để thực hiện các tác vụ như sao lưu dữ liệu, giám sát tài nguyên, và tự động hóa các tác vụ định kỳ một cách hiệu quả, tiết kiệm thời gian, và giảm thiểu lỗi.

    Quản trị hệ thống thường yêu cầu thực hiện các công việc định kỳ như sao lưu, kiểm tra nhật ký (logs), hoặc cập nhật phần mềm. Bash Script giúp tự động hóa các tác vụ này thông qua các công cụ tích hợp như cron jobs hoặc at command.

    ➤ Ví dụ: Bash Script có thể theo dõi tình trạng CPU, RAM, và các dịch vụ đang chạy trên hệ thống, giúp quản trị viên nhanh chóng phát hiện các vấn đề và xử lý kịp thời.


#!/bin/bash

# CPU and RAM Monitoring
cpu_usage=$(top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4}')
ram_usage=$(free -m | awk 'NR==2{printf "%.2f", $3*100/$2 }')

echo "Sử dụng CPU: $cpu_usage%"
echo "Sử dụng RAM: $ram_usage%"

# Send warning if threshold is exceeded
if (( $(echo "$cpu_usage > 80" | bc -l) )); then
    echo "Warning: CPU is using $cpu_usage%!" | mail -s "CPU Warning" admin@example.com
fi

if (( $(echo "$ram_usage > 80" | bc -l) )); then
    echo "Cảnh báo: RAM is using $ram_usage%!" | mail -s "RAM Warning" admin@example.com
fi

2. Tự động hóa quy trình phát triển phần mềm

    Trong lập trình, Bash Script hỗ trợ tự động hóa các công việc như build dự án, chạy kiểm thử, hoặc triển khai ứng dụng. Ví dụ, script Bash có thể kiểm tra dependency, build và deploy ứng dụng, hoặc áp dụng chạy các lệnh automation testing, CI/CD, ...

    ➤ Ví dụ: Sử dụng Bash để thiết lập quy trình CI (Continuous Integration), bao gồm pull code mới, build, test và deploy.


#!/bin/bash

# Pull code from Git
echo "Cập nhật code mới nhất từ repository..."
git pull origin main

# Build Project
echo "Thực hiện build..."
./build.sh

# Start Testing
echo "Chạy kiểm thử..."
./test.sh

# Deploy if build and test successfully
if [ $? -eq 0 ]; then
    echo "Triển khai lên môi trường staging..."
    ./deploy.sh staging
else
    echo "Build hoặc test thất bại. Không triển khai."
    exit 1
fi

3. Xử lý file và dữ liệu

    Với Bash Script, bạn có thể đọc, ghi, hoặc xử lý dữ liệu trong các file văn bản, tạo báo cáo tự động, hoặc chuyển đổi định dạng file một cách dễ dàng.

    Các lệnh tích hợp và công cụ hỗ trợ như awk, sed, và grep, Bash giúp lập trình viên và quản trị viên hệ thống tiết kiệm thời gian và tăng hiệu quả công việc.

4. Quản lý mạng

    Quản trị viên mạng sử dụng Bash Script để theo dõi trạng thái mạng, kiểm tra kết nối, hoặc cấu hình thiết bị mạng tự động, giám sát băng thông và quản lý firewall.

5. Tích hợp với các công cụ khác

    Bash Script có thể tích hợp với các công cụ như Git, Docker, hoặc Kubernetes để quản lý dự án, container, hoặc triển khai ứng dụng trên cloud.

    ➤Ví dụ: Bash Script giúp check Encoding của File trước khi Commit trên Git.

Lợi ích của việc sử dụng Bash Script

    Bash Script là công cụ hết sức hữu ích đối với các lập trình viên nhờ khả năng tự động hóa tác vụ và các công việc lặp đi lặp lại. So với các ngôn ngữ lập trình khác, khi tạo ra một tools / script sử dụng Bash sẽ đơn giản hơn rất nhiều.

  • Bash là ngôn ngữ dễ học và áp dụng với cú pháp đơn giản.
  • Bash tích hợp mạnh mẽ với hầu hết các công cụ và môi trường Linux/Unix, có thể sử dụng tích hợp cả trên Windows.
  • Khả năng mở rộng và tái sử dụng mã lệnh cao.

Series giới thiệu về lập trình Bash Script

    Trong series này, mình sẽ cùng bạn tìm hiểu chức năng của Bash Script với các ví dụ liên quan. Mình sẽ triển khai các ví dụ và project trên Windows, Bash có thể chạy trên Windows thông qua WSL (Windows Subsystem for Linux), Git Bash, hoặc các phần mềm như Cygwin.

    Có một Script Language khác nghe giống như Bash đó là Batch. Batch được thiết kế để tự động hóa các tác vụ trên Windows nhưng hỗ trợ các công cụ xử lý hạn chế hơn so với Bash. Vì vậy mặc dù sử dụng Windows nhưng các lập trình viên vẫn nên sử dụng Bash

    Các file Bash có phần mở rộng đặc biệt là .sh.

    Chuỗi bài viết / video này mình sẽ chia làm 3 phần:

  • Các kiến thức / cú pháp cơ bản về Bash như: Variable, Array, Operators, Conditional Statements, Loop, String, Functions, ...
  • Các kiến thức / cú pháp nâng cao như Regex, Xử lý chuỗi, Error Handling, Parallel Processing, sed, grep, security, ...
  • Một số project sử dụng Bash Script (Video hoặc kết hợp bài viết)

    Các bài viết sau mình sẽ start với các kiến thức cơ bản về Bash Script, mọi người cùng follow trang để tìm hiểu thêm về ngôn ngữ lập trình thú vị này nhé!

>>>>>> Follow ngay <<<<<<<

Để nhận được những bài học miễn phí mới nhất nhé 😊
Chúc các bạn học tập tốt 😊

Nguyễn Văn Nghĩa

Mình là một người thích học hỏi và chia sẻ các kiến thức về Nhúng IOT.

2 Nhận xét

Mới hơn Cũ hơn