Thú thật là hồi mới đi làm, mình cực kỳ sợ cái từ automation. Nghe là thấy nó cao siêu, đầy rẫy những câu lệnh dài ngoằng, ai mà nhớ nổi. Mình cứ nghĩ phải học Ansible ngay lập tức thì mới là dân IT thực thụ, còn viết bash script thì coi như là "tủm tỉm", không chuyên nghiệp.
Cho đến một hôm, server sập vào lúc 2 giờ sáng, log đầy nhà, và mình phải ngồi vào đó xóa cache thủ công. Cảm giác như bị đánh thức giữa cơn ác mộng. Lúc đó mình chợt nhận ra: "Đáng lẽ mình nên viết một crontab để tự động xóa file log cũ mỗi sáng 3 giờ rồi thì sao?".
Từ đó, cuộc đời thay đổi. Mình bắt đầu quay lại với những script bash nhỏ nhặt. Không cần phải là những tác phẩm nghệ thuật, chỉ cần nó chạy được và giải quyết nỗi đau của mình là đủ. Ví dụ, mình viết một script đơn giản để backup database, sau đó thêm vào crontab:
0 3 * * * /home/user/scripts/backup_db.sh >> /var/log/backup.log 2>&1
Cái đẹp của cron là nó âm thầm, không làm phiền ai, cứ làm nhiệm vụ như một người hầu đáng tin cậy. Ban đầu mình cũng bị lỗi "permission denied" hay lỗi path, debug đến phát sốt. Nhưng khi script chạy lần đầu thành công, cảm giác "chua chua" nhưng lại cực kỳ thích. Nó như là mình vừa tạo ra một người bạn robot vậy.
Về phần Ansible, mình vẫn tôn trọng và thấy nó rất mạnh cho việc config hàng trăm máy cùng lúc. Nhưng đối với những task nhỏ, cá nhân, hoặc những thứ chỉ diễn ra trên một server, thì bash + cron vẫn là "tình đầu" của mình. Tại sao? Vì nó nhanh, nhẹ, và không cần cài đặt thêm package nào cả. Đôi khi, đơn giản lại là giải pháp tối ưu nhất.
Mình luôn tin rằng automation không nhất thiết phải phức tạp. Bắt đầu từ những câu lệnh nhỏ, những script ngớ ngẩn, dần dần bạn sẽ thấy công việc của mình trôi chảy hơn hẳn. Đừng chỉ ngồi đó than phiền server chậm hay mất dữ liệu, hãy thử ngồi xuống gõ một dòng echo "hello world" và xem nó có thể tự động hóa được gì không.
Còn bạn thì sao? Bạn đang dùng công cụ nào để "lười biếng" một cách hiệu quả? Ansible, Bash, hay đơn giản là một cái timer trên điện thoại? 😄