Linux Crontab thực thi các lệnh tác vụ tập lệnh thường xuyên và đặt việc sử dụng tệp cấu hình

LinuxQuy trình cron tích hợp có thể giúp chúng ta đáp ứng nhu cầu thực thi các tác vụ đã lên lịch. Bằng cách sử dụng các tập lệnh cron và shell, không có vấn đề gì khi thường xuyên thực hiện các lệnh tác vụ rất phức tạp.

Cron là gì?

Những gì chúng tôi thường sử dụng làcrontablệnh, viết tắt của cron table.

Đây là tệp cấu hình cho cron, cũng có thể được gọi là danh sách công việc.

Chúng ta có thể tìm thấy các tệp cấu hình có liên quan trong các thư mục sau.

  • Thư mục / var / spool / cron / lưu trữ các tác vụ crontab cho mỗi người dùng bao gồm cả root và mỗi tác vụ được đặt tên theo người tạo
  • / etc / crontab Tệp này chịu trách nhiệm lên lịch các tác vụ quản trị và bảo trì khác nhau.
  • /etc/cron.d/ Thư mục này được sử dụng để lưu trữ bất kỳ tệp hoặc tập lệnh crontab nào sẽ được thực thi.
  • Chúng tôi cũng có thể đặt tập lệnh vào /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, /etc/cron.monthly, hãy để nó thực thi mỗi giờ/ngày/tuần, tháng.

Crontab được sử dụng như thế nào?

Các lệnh thường được sử dụng của chúng tôi như sau:

crontab [-u username]    //省略用户名表示操作当前用户的crontab
    -e      (编辑工作表)
    -l      (列出工作表里的命令)
    -r      (删除工作表)

chúng tôi sử dụngcrontab -eVào chỉnh sửa trang tính của người dùng hiện tại, đây là giao diện vim phổ biến.Mỗi dòng là một lệnh.

Chỉnh sửa trang tính ▼

crontab -e

Liệt kê các trang tính ▼

crontab -l

Xóa trang tính ▼

crontab -r 

Lệnh của crontab bao gồm thời gian + hành động, và thời gian của nó làphút, giờ, ngày, tháng, tuầnNăm, nhà điều hành có

  • * tất cả các số trong phạm vi
  • / có bao nhiêu số
  •  từ X đến Z
  • ,số băm

Ví dụ về lệnh tác vụ đã lên lịch của Crontab

Linux Crontab thực thi các lệnh tác vụ theo lịch trình và đặt mức sử dụng tệp cấu hình

Ví dụ 1: Thực thi myCommand mỗi 1 phút

* * * * * myCommand

Ví dụ 2: Thực hiện vào phút thứ 3 và 15 hàng giờ

3,15 * * * * myCommand

实例3:在上午8点到11点的第3和第15分钟执行

3,15 8-11 * * * myCommand

实例4:每隔两天的上午8点到11点的第3和第15分钟执行

3,15 8-11 */2  *  * myCommand

实例5:每周一上午8点到11点的第3和第15分钟执行

3,15 8-11 * * 1 myCommand

Ví dụ 6: Khởi động lại smb lúc 21:30 hàng đêm

30 21 * * * /etc/init.d/smb restart

实例7:每月1、10、22日的4 : 45重启smb

45 4 1,10,22 * * /etc/init.d/smb restart

Ví dụ 8: Khởi động lại smb lúc 1:10 thứ Bảy và Chủ nhật hàng tuần

10 1 * * 6,0 /etc/init.d/smb restart

Ví dụ 9: Khởi động lại smb cứ sau 18 phút từ 00:23 đến 00:30 hàng ngày

0,30 18-23 * * * /etc/init.d/smb restart

Ví dụ 10: Khởi động lại smb lúc 11:00 tối Thứ Bảy hàng tuần

0 23 * * 6 /etc/init.d/smb restart

Ví dụ 11: Khởi động lại smb mỗi giờ

* */1 * * * /etc/init.d/smb restart

Ví dụ 12: Khởi động lại smb mỗi giờ từ 11 giờ tối đến 7 giờ sáng

* 23-7/1 * * * /etc/init.d/smb restart

Làm cách nào để xóa tác vụ Crontab đã chỉ định?

SSH nhập lệnh crontab sau ▼

crontab -e
  • Giả sử nhiều tác vụ, hãy xóa tác vụ đã lên lịch đã chỉ định trong vim (di chuyển con trỏ đến dòng cấu hình cần xóa, nhấn phím xóa để xóa)

nhấn :wq lưu và thoát

Kiểm tra xem tác vụ Crontab đã bị xóa chưa?

crontab -l
  • Nó được tìm thấy rằng tác vụ lập lịch crontab vừa bị xóa không tồn tại, điều đó có nghĩa là việc xóa thành công.

Làm cách nào để khởi động lại dịch vụ Cron?

Thông qua các lệnh quản lý dịch vụ hệ thống: Trong một số trường hợp, bạn có thể cần sử dụng trực tiếp lệnh quản lý dịch vụ của hệ thống để khởi động lại dịch vụ cron.

đặc biệt là ởHestiaCPĐể thêm hoặc sửa đổi tác vụ theo lịch trình của Cron, dịch vụ Cron phải được khởi động lại để có hiệu lực.

Điều này thường liên quan đến một trong các lệnh sau:

  • Để sử dụng systemd Hệ thống:

    sudo systemctl restart cron
    
  • Để sử dụng init.d Tập lệnh cho các hệ thống cũ:

    sudo /etc/init.d/cron restart
    
  • Để sử dụng service Hệ thống chỉ huy:

    sudo service cron restart
    

Bảng điều khiển CWPCách đặt các tác vụ đã lên lịch cho Crontab

  • Trong tác vụ đã lên lịch, hãy thêm lệnh đồng bộ hóa để tự động đồng bộ hóa các tệp sao lưu của bảng điều khiển CWP sang GDrive.

Nếu sử dụng Bảng điều khiển CWP, hãy đăng nhập vào Bảng điều khiển CWPCủa Server SettingCrontab for root ▼

Làm cách nào để đặt các tác vụ được hẹn giờ Crontab tự động đồng bộ hóa với GDrive trong bảng điều khiển CWP?

Trong "Thêm công việc cron tùy chỉnh đầy đủ", hãy nhập lệnh cron hoàn toàn tùy chỉnh sau đây ▼

00 7 * * * rclone sync /backup2 gdrive:cwp-backup2
55 7 * * * rclone sync /newbackup gdrive:cwp-newbackup
  • (Tự động đồng bộ hóa thư mục cục bộ vào lúc 7:00 sáng hàng ngày /backup2vào đĩa mạng với tên cấu hình gdrivebackup2Mục lục)
  • (Tự động đồng bộ hóa thư mục cục bộ vào lúc 7:55 sáng hàng ngày /newbackup  vào đĩa mạng với tên cấu hình gdrivecwp-newbackupMục lục)
  • Cùng một bướcWordPressĐối với các tệp trang web, không nên sao lưu tăng dần, vì thử nghiệm thấy rằng nếu tên tệp giống nhau nhưng nội dung các tệp khác nhau thì chúng sẽ không được đồng bộ.

do thời gian bắt đầurcloneSau khi quá trình đồng bộ hóa tự động hoàn tất, quá trình rclone có thể vẫn chạy ở chế độ nền, điều này sẽ chiếm tới 20% tài nguyên CPU, dẫn đến lãng phí tài nguyên máy chủ.

Do đó, cần phải thêm một lệnh tác vụ đã lên lịch được tùy chỉnh đầy đủ để buộc quá trình rclone đóng lại ▼

00 09 * * * killall rclone
  • (Tự động đóng quá trình ép xung vào lúc 7:00 mỗi sáng)

Nếu bảng điều khiển CWP không thể chỉnh sửa các tác vụ theo lịch trình Crontab, bạn có thể sử dụng FTP软件mở tệp tin /var/spool/cron/ Chỉnh sửa trực tiếp các tác vụ theo thời gian của Crontab.

Làm thế nào để sử dụng sao lưu rclone cho VPS?Vui lòng nhấp vào liên kết dưới đây để xemCentOSSử dụng Hướng dẫn đồng bộ hóa tự động GDrive ▼

Hy vọng Chen Weiliang Blog ( https://www.chenweiliang.com/ ) đã chia sẻ "Linux Crontab lập lịch biểu lệnh tác vụ tập lệnh & thiết lập tệp cấu hình sử dụng", rất hữu ích cho bạn.

Chào mừng bạn đến chia sẻ liên kết của bài viết này:https://www.chenweiliang.com/cwl-1429.html

Để khám phá thêm nhiều mẹo ẩn🔑, vui lòng tham gia kênh Telegram của chúng tôi!

Chia sẻ và thích nếu bạn thích nó! Những chia sẻ và lượt thích của bạn là động lực tiếp tục của chúng tôi!

 

发表 评论

Địa chỉ email của bạn sẽ không được công bố. 项 已 * 标注

Thư mục bài viết
Di chuyển về đầu trang