Hướng dẫn cài đặt Cron job toàn tập - AGOLA Hướng dẫn cài đặt Cron job toàn tập - AGOLA
12 / 100

Có nhiều cách để làm việc hiệu quả. Ví dụ, đối với những lập trình viên website bận rộn, họ sẽ tận dụng tiến trình tự động để xử lý các công việc lặp đi lặp lại. Nếu bạn dùng hệ điều hành như Unix, cron job có thể giúp bạn tiết kiệm thời gian bằng cách xử lý tác vụ tự động.

Trong bài viết này, chúng tôi sẽ giải thích cron job là gì, cơ bản về cron job và cách sử dụng cron để lên lịch thực thi tác vụ.

Cron job là gì?

Cron là chương trình để xử lý các tác vụ lặp đi lặp lại ở lần sau. Cron Job đưa ra một lệnh để lên lịch “làm việc” cho một hành động cụ thể, tại một thời điểm cụ thể mà cần lặp đi lặp lại.

Đây là cách nó hoạt động:

Nếu bạn muốn lên lịch cho một công việc một lần, vào một thời điểm khác sau này, bạn nền dùng lệnh khác. Nhưng với những công việc định kỳ, cron là giải pháp hoàn hảo.

Cron là một daemon, nghĩa là nó hoạt động dưới nền để thực thi những tác vụ không cần tương tác. Trong Windows, bạn đã quen với tiến trình chạy nền gọi là Services.

Daemon luôn trong tình trạng sẵn sàng và đợi cho đến khi có lệnh yêu cầu nó chạy một tác vụ nhất định – trong máy tính hoặc từ những máy tính khác trong mạng lưới.

File cron là file text đơn giản chứa các lệnh được chạy trong thời gian cụ thể. File crontab mặc định trong hệ thống là /etc/crontab và nằm trong thư mục crontab /etc/cron.*/. Chỉ quản trị viên hệ thống mới có thể chỉnh sửa file crontab trên hệ thống.

Tuy nhiên, vì đối với các hệ điều hành hỗ trợ nhiều người dùng như Unix, mỗi hệ điều hành đều có thể tạo file crontab riêng. Nó có thể chạy jobs bất cứ lúc nào nó muốn. Daemon cron sẽ kiểm tra file và chạy lệnh trên nền hệ thống.

Với cron jobs, bạn có thể tự động hóa bảo trì hệ thống, giám sát dung lượng ổ đĩa, và thiết lập backup. Bản chất của nó vì vậy phù hợp cho các máy hoạt động 24/7 – như server.

Cron jobs thường được dùng chủ yếu bởi quản trị viên hệ thống nhưng nó cũng có ích với cả quản trị viên web. Ví dụ, dùng cron để hủy kích hoạt tài khoản đã hết hạn, kiểm tra links hỏng, hoặc gửi bản tin cho người dùng mục tiêu.

Những điều cơ bản về Cron job

Bạn có thể tạo và chỉnh sửa cron jobs bằng các phương pháp khác nhau. Trong bài hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách làm bằng Linux Shell Prompt (Terminal).

Nếu bạn có VPS trên Hostinger, bạn vào trang quản trị VPS để lấy thông tin truy cập server qua SSH. Nếu gặp vấn đề, bạn có thể xem lại hướng dẫn PuTTY để kết nối SSH.

Đây là một số tác vụ mà cron jobs thực hiện được:

Nếu bạn muốn chỉnh sửa file crontab của người dùng hiện tại, nhập crontab -e trong terminal:

crontab

Nó sẽ trả về kết quả như thế này:

kết quả cron tab

Nếu dùng vi editor, bạn có thể tìm hiểu vi commands cơ bản để làm đúng.

Nếu bạn muốn chỉnh sửa crontab của người dùng khác, bạn có thể nhập crontab -u username -e. Bạn cần chạy lệnh này bằng superuser, nghĩa là bạn cần nhập: sudo su trước thực hiện lệnh này.

crontab -u username -e outcome cron job

Hoạt động khác cho phép bạn xem cron files nếu nó được tạo. Bạn chỉ cần nhập crobtab -I. Nếu không có file nào, bạn sẽ nhìn thấy kết quả này:

crontab -l result cron job

Ngoài ra, nếu bạn muốn thấy danh sách file crontab của người dùng khác, bạn có thể nhập crontab -u username -I dưới superuser:

cron job crontab -u username -l kết quả

Ngoại trừ phải biết về các tác vụ cơ bản, cú pháp cơ bản cũng rất quan trọng bạn cần ghi nhớ.

Cơ bản là file crontab chứa 2 phần: trình lên lịch và lệnh. Đây là cách viết lệnh:

* * * * * /bin/sh backup.sh
  • ***** /bin/sh backup.sh cronjob nghĩa là nó sẽ chạy backup mỗi phút
  • 30 18 * * * rm /home/sydtesting/tmp/* nghĩa là nó xóa files tmp khỏi /home/sydtesting/tmp mỗi ngày lúc 6:30 PM.

Cùng tìm hiểu chi tiết hơn về Cron Job

Cách viết cú pháp Cron đúng

Như đã đề cập trước đó, file crontab có 5 trường – mỗi trường đại diện bởi dấu hoa thị. Chúng dùng để xác định ngày và thời gian của tác vụ nhất định được thiết lập để hoạt động lặp đi lặp lại.

5 trường của Crontab

  • Minute – phút của giờ mà lệnh sẽ chạy, trong khoảng từ 0 đến 59
  • Hour – dựa trên giờ mà lệnh sẽ chạy, trong khoảng từ 0 đến 23
  • Day of the month – dựa trên ngày của tháng mà bạn muốn chạy lệnh, trong khoảng từ 1 đến 31
  • Month – dựa trên tháng mà lệnh cụ thể chạy, trong khoảng từ 1 đến 12
  • Day of the week – dựa trên ngày của tuần mà bạn muốn chạy lệnh, trong khoảng từ 0 đến 7

Thêm vào đó, bạn cần dùng kí tự đúng với mỗi file crontab.

  • Dấu hoa thị (*) – để xác định tất cả tham số được lên lịch
  • Dấu phẩy (,) – để duy trì 2 hoặc nhiều lần thực thi một lệnh
  • Dấu gạch nối (-) – để xác định khoảng thời gian thiết lập lần thực thi một lệnh
  • Dấu gạch chéo (/) – để tạo khoảng thời gian nghỉ cụ thể
  • Cuối cùng (L) – cho mục đích cụ thể là chỉ định ngày cuối cùng của tuần trong tháng. Ví dụ, 3L nghĩa là thứ tư cuối cùng.
  • Ngày trong tuần (W) – để xác định ngày trong tuần gần nhất. Ví dụ, 1W nghĩa là nếu ngày 1 là thứ 7, lệnh sẽ chạy vào thứ hai (ngày 3)
  • Hash (#) – để xác định ngày của tuần, theo sau bởi số chạy từ 1 đến 5. Ví dụ, 1#2 nghĩa là ngày thứ Hai thứ hai.
  • Dấu chấm hỏi (?) – để để lại khoảng trống

11 ví dụ về cú pháp của Cronjob

Bây giờ bạn đã biết cách viết cú pháp đúng. Chúng tôi sẽ cho bạn các ví dụ cụ thể để hiểu các quy tắc ở trên tốt hơn.

Trước khi tiếp tục, hãy đảm bảo output của lệnh sẽ tự động gửi đến tài khoản email của bạn. Vì vậy nếu bạn muốn dừng nhận những email này, bạn có thể thêm >/dev/null 2>&1 vào cú pháp như ví dụ bên dưới:

0 5 * * * /root/backup.sh >/dev/null 2>&1

Nếu bạn muốn gửi email output đến một tài khoản cụ thể, thêm MAILTO và sau đó là địa chỉ email. Đây là ví dụ:

MAILTO="[email protected]"
0 3 * * * /root/backup.sh >/dev/null 2>&1

Đây là nhiều ví dụ về cú pháp hơn:

Diễn đạt Ý nghĩa
0 0 * * * /bin/sh backup.sh Để chạy cơ sở dữ liệu backup vào giữa đêm, và chạy sau 1 ngày.
0 6,18 * * * /bin/sh backup.sh Để chạy backup cơ sở dữ liệu 2 lần 1 ngày lúc 6AM và 6PM.
0 */6 * * * /scripts/monitor.sh Để thực thi giám sát mỗi 6 giờ.
*/10 * * * * /home/user/script.sh Để chạy cron job cho file script đặt trong thư mục chính mỗi 10 phút.
0 * 20 7 * /bin/sh backup.sh Để chạy cơ sở dữ liệu backup mỗi giờ mỗi ngày 20/07.
0 0 * * 2 * /bin/sh Để chạy cơ sở dữ liệu backup giữa đêm mỗi thứ ba.
* * * 1,2,5 *  /script/script.sh Để chạy lệnh vào tháng một, tháng hai và tháng năm.
10-59/5 5 * * * /home/user/script.sh Để chạy lệnh mỗi 5 phút lúc 5AM, bắt đầu lúc 5:10 AM.
0 8 1 */3 * /home/user/script.sh Để chạy lệnh hàng quý vào ngày 1 lúc 8AM.
* * * * * /scripts/script.sh; /scripts/scrit2.sh Để đặt lịch nhiều jobs trên cron job độc lập.
@reboot /scripts/script.sh Để chạy tác vụ nhất định mỗi khi bạn khởi động hệ thống.
0 0 1 * *  /home/user/script.sh Để chạy lệnh vào ngày đầu tiên của mỗi tháng.

Lời kết

Việc cài đặt job lên lịch tự động không chỉ tiện lợi mà còn giúp bạn thực thi các hành động kịp thời, đúng lúc.

Cronjob là cách tốt để quản lý tác vụ đối với quản trị viên hệ thống hoặc ngành nghề khác như người phát triển web. Bạn cần dùng đúng lệnh và chọn đúng lúc.

Đây là vài lệnh cơ bản:

  • crontab e – để tạo và chỉnh sửa file crontab
  • crontab -u username -e – để chỉnh sửa file crontab của người dùng khác với quyền truy cập của superuser
  • crontab -l – để xem danh sách file crontab của người dùng hiện tại.
  • crontab -u username -l – để xem danh sách files crontab của người dùng khác.

Bây giờ hãy thử Cron Job và để nó chạy tự động một lệnh bạn thích xem.

Các lý do cần đọc trước khi quyết định liên hệ tôi 

  1. Tham gia group Mua bán Google Ads và Google Shopping :

    https://www.facebook.com/groups/314513929300715

  2. Tham gia group mua bán cho thuê tài khoản BM Agency :

    https://www.facebook.com/groups/1204318359703229

  3. AGOLA chỉ cung cấp dịch vụ không có dịch vụ tư vấn hiểu tới đâu bán tới đó !
  4. AGOLA ngừng cung cấp các gói dịch cho bọn có Slogan " Tuần đổi xe tháng mua nhà " hoặc liên quan !
  5. Các dịch vụ liên quan đến hướng dẫn : diễn ra từ 5-30 phút thông qua teamview hoặc ultral thời gian càng ngắn giá tiền càng cao nên các bạn đọc kỹ trước khi sử dụng
  6. Các sản phẩm dịch vụ không có thương thảo giá và cũng không có hỏi thêm
  7. Không làm việc với mấy thằng giao lưu với lũ suốt ngày dùng VPS remote này remote kia sock này sock kia đổi ngôn ngữ này đổi ngôn ngữ kia add page này sang page kia đổi đá cá kiểu con đà điều ... đây là một lũ ngu thời hiện đại khi bạn muốn vượt rào vòng đầu bạn đã gian lận thì vượt vào đít kèm với đó khả năng dính liên đơi nghi ngờ hành vi bất thường là rất cao nó như kiểu hành vi của bạn có tần xuất giống như hành vi của bọn gian lận khá nhiều nó cho bạn vào động cơ gian lận có nguy cơ nó sẽ pem luôn nhé ... và ti tỷ lý do khác nhé nếu bọn mày mà làm theo tụi nó lên cam được tao cho 20 triệu tiền cafe cà pháo
  8. Không bán vĩnh viễn mọi dịch vụ mua nhầm đòi đổi sang gói dịch vụ khác
  9. Thông tin bảo hành gần như không có nhưng cũng có một số dịch vụ có bảo hành đề nghị đọc kỹ trước khi quyết định mua
  10. Quyết định mua hàng là đồng ý các điều khoản mua bán và điều khoản không được lấy lại tiền và không bồi hoàn
  11. Mua hàng thì xin đọc kỹ điều khoản ở từng mô tả trước khi quyết định nhấc máy liên hệ ở thông tin của từng gói dịch vụ
  12. Mọi giao dịch đều được phải bắt buộc chụp màn hình chuyển khoản gửi vào Zalo
  13. Các đối tượng cố ý chuyển tiền gói này để trục lợi sử dụng gói khác đều được coi là hình vi lừa đảo ! Cố ý ghi nội dung hiểu lầm về chuyển tiền để đôi co đòi sử dụng gói dịch vụ khác cũng vậy !
  14. Tôi là dân khối A nên việc viết sai lỗi chính tả thì kệ mẹ tôi thích thì mua không thích thì đừng soi đi ra chỗ khác do tôi không có soát lại chính tả nên các bạn đọc thay vì thắc mắc thì thông cảm giùm tôi ! miễn sao tôi truyền tải thông tin bạn đọc bạn thấy hiểu được bạn sử dụng không được bạn tìm bên khác
  15. Tôi không làm việc với bọn cử nhân viên là các công ty Agency , truyền thông gọi hỏi dò hỏi luyên thuyên ! Nếu cố tình tôi sẽ dùng CRM Agency cấm lock chạy Ads vĩnh viễn khi nhìn thấy đuôi theo rõi của doanh nghiệp đó mà tôi đã gán.
  16. Tôi không làm việc với bọn nào thì tôi chạy tiền tỷ tôi tiêu tiền tỷ nhưng chạy demo trước nếu ngon thì vít lớn nhưng sau 3 ngày thuê thấy đéo thấy như cam kết về ngân sách
  17. Tôi không hợp tác ăn chia hay kiểu Win Win đôi bên có lợi
  18. Tất cả những câu hỏi khi gọi điện khiến tôi nghĩ rằng bạn chưa đọc kỹ thông tin trên website sẽ được tôi từ chối vô điều kiện
  19. Không làm việc các công ty có các nhân vật nổi tiếng trên các đài báo truyền hình bởi vậy bớt quảng cáo
  20. Các đối tượng cố tình lên mạng tìm kiểm thông tin tôi và không có trao đổi được tôi dùng Zalo : O9O9.456.866 gửi STK thông tin thanh toán của tôi qua zalo đó mà vẫn chuyển tiền vào tài khoản của tôi được coi là hình vi lừa đảo cố tình trọc phá và lợi dụng sử dụng lừa đảo để mong muốn sử dụng dịch vụ của tôi nhưng vì cấm nên phải làm vậy
  21. Kiến thức của đại đa số dân trên mạng không sai mà chỉ đúng với bọn gà mờ mà thôi kiểu như bạn học lớp 1 cô giáo nói 1 không trừ được cho 2 lên cấp 2 cô giáo nói 1 trừ được cho 2 ! Lúc đó cô giáo cấp 1 hay thầy giáo cấp 2 không nói ai đúng ai sai được mà tại thời điểm đó bạn thấy nó đúng còn khi đi sâu vào nó đéo đúng 😀 ! Cũng như việc tôi bán dịch vụ cho dân trong nghề việc tôi có bắt mấy thằng cấp 1 nuốt kiến thức chuyên sâu của cấp 2 là không được bởi vậy dân nào hiểu sẽ liên hệ mua chứ đừng kiểu lơ mở hỏi cho vui cửa vui nhà
  22. Không làm việc với bọn hở miệng ra là em từng có BM2500 với BM1000
  23. Không lamg việc với bọn hở mồm ra là fake mà đến cái via kiểm tra như thế nào là 1 cái via Việt hay via us... cũng đéo biết kiểm tra thế mà cứ đi nghe mấy thằng trên mạng Fake Ip , Fake đổi ngôn ngữ này ngôn ngữ kia ... tùm lum tà la login đổi via các kiểu con đa điểu rồi nghe thì vui tai mà làm cũng được không đéo có biết lý do chỉ có lý do vớ vẩn - Không tin tao đố bọn mày hỏi thử nó 1 câu via Việt là như thế nào đố thằng đó biết đó xàm xí - hay via việt là thông tin Việt Nam hahaha !
  24. Không làm việc với bọn nào thì đổi mạng 4g kết nối này kết nối kia lên cam có con cặc ấy mấy cái công nghệ cổ lỗ sĩ này bọn code tool click quảng cáo nó sài gần 10 năm nay rồi lòe dân gà hoài dần dần ko hiệu quả bọn nó ko dùng rồi lũ đó biến mất khỏi thị trường bán tài khoản
  25. Quyết tâm cấm log mọi thằng liên quan tới BM2500 vĩnh viễn hạn chế tài khoản quảng cáo liên đới từ 6 tới 2 năm kể cả cho kháng XMDT theo tút trên mạng
  26. Tiếp tục sắp tới sẽ thanh lọc toàn bộ Invoice
  27. Bọn mày nghĩ xem mẹ chúng nó giỏi vậy nhận hàng về mà chạy quảng cáo đi giàu hơn ko sao phải đi kiếm tiền dạy học ba láp ba xàm đó xem thấy quảng cáo của tụi đó trước đây chạy quảng cáo tràn lan quảng bá khóa học như đúng rồi giờ chạy đi ba láp ba xàm

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Call Now Button
X