Làm thế nào để tôi thiết lập một công việc định kỳ?

Tôi muốn sắp xếp một công việc để chạy thường xuyên và đã nghe nói rằng định kỳ là cách để làm điều này.

Làm thế nào để tôi thêm định kỳ công việc trong windows?

Đặt một kịch bản trong một trong các thư mục này: /etc/cron.daily, /etc/cron.hourly, /etc/cron.monthly hay /etc/cron.weekly.

Nếu này là không đủ đối với bạn, bạn có thể thêm nhiều nhiệm vụ cụ thể ví dụ như hai lần một tháng hoặc mỗi 5 phút. Đi đến các thiết bị đầu cuối và gõ:

crontab -e

Điều này sẽ mở cá nhân của hủy đăng ký (định kỳ file cấu hình). Dòng đầu tiên trong tập tin đó giải thích tất cả! Trong mỗi dòng bạn có thể xác định một lệnh để chạy và lịch trình của nó và các dạng khá là đơn giản khi bạn có được treo nó. Cấu trúc được:

minute hour day-of-month month day-of-week command

Cho tất cả những con số mà bạn có thể sử dụng danh sách, ví dụ như: 5,34,55 trong biên bản lĩnh vực này sẽ có nghĩa là chạy vào lúc 5 khứ 34 khứ và 55 khứ bất cứ điều gì giờ được xác định.

Bạn cũng có thể sử dụng khoảng thời gian. Họ đang xác định như thế này: */20. Ví dụ này có nghĩa mọi thứ 20, vì vậy trong phút cột nó tương đương với 0,20,40.

Vì vậy, để chạy một lệnh mọi thứ vào lúc 5:30 chiều:

30 17 * * 1 /path/to/command

hoặc mỗi 15 phút

*/15 * * * * /path/to/command

Lưu ý rằng các ngày trong tuần đi từ 0-6 nơi 0 là chủ nhật.

Bạn có thể đọc nhiều ở đây.

Nếu anh muốn chạy có thể chạy với cùng một đặc quyền như của bạn thân tôi giới thiệu cách sử dụng một người dùng hủy đăng ký người mà bạn có thể chỉnh sửa bởi chạy EDITOR="gedit" crontab -e (đó sẽ sử dụng gedit để chỉnh sửa hủy đăng ký tập tin) hoặc chỉ đơn giản là crontab -e (đó sẽ sử dụng định biên) trong một thiết bị đầu cuối.

Nếu anh muốn chạy một cái gì đó mỗi 10 phút, ví dụ, bạn thêm một dòng như thế này

*/10 * * * * /usr/bin/somedirectory/somecommand

và các tập tin.

Bạn có thể xem nội dung của các người dùng hủy đăng ký với crontab -l.

Để thêm một công việc định kỳ chạy như rễ, bạn có thể sửa gốc của hủy đăng ký bởi chạy sudo crontab -e.

Các linh hoạt nhất là sử dụng các hệ thống hủy đăng ký /etc/crontab mà bạn có thể sửa chỉ với gốc đặc quyền. Trong tập tin này, các người dùng mỗi lệnh là phải chạy như là quy định, vì vậy bạn có thể chạy lệnh của bạn như là gốc (trong trường hợp bạn cần có mức độ đặc ân) hay bất cứ người nào khác trên hệ thống.

Ví dụ, nếu anh muốn chạy một cái gì đó mỗi 10 phút, như là gốc, bạn muốn thêm một dòng như thế này

*/10 * * * * root /usr/bin/somedirectory/somecommand

(thông báo ngoài của các người dùng để dòng)

Bạn có thể xem nội dung của các hệ thống hủy đăng ký với tập tin cat /etc/crontab.

Thông tin chi tiết: https://help.ubuntu.com/community/CronHowto

Nếu bạn muốn làm điều đó bằng cách sử dụng một DIỆN, bạn có thể đi đến trung Tâm phần Mềm và cài đặt Lên kế hoạch nhiệm vụ (hoặc chạy sudo apt-get install gnome-schedule). Nó sẽ cung cấp một mạnh mẽ GUI thêm định kỳ nhiệm vụ.

Lưu ý rằng nếu bạn sử dụng phương pháp này, nhiệm vụ định sẽ được thực hiện như sử dụng riêng của bạn, không phải là như là gốc. Điều này thường là một điều tốt.

Tôi đề nghị KDE là Lịch công Tác (kde-config-cron) . Truy cập vào nó từ những Thiết Lập Hệ Thống trong những Lịch Công Tác module đó.

Nó được cả hai cá nhân và hệ thống cảm thấy giống như chúa và dễ tạo ra những ranh giới thời gian rất ngạc nhiên tôi (xem hình dưới đây). Tôi nghĩ phần này là thực sự đánh giá thấp.

KDE Lịch công Tác sẽ không hoạt động trong thường xuyên Nón. Nó chỉ hoạt động chương trình Hệ thống như Windows. Không KDE hệ thống bạn sẽ muốn sử dụng gnome-lịch trình

$ sudo apt-get install gnome-schedule

Các ứng dụng được lên kế Hoạch nhiệm vụ trong Dash.

Tôi muốn thiết lập một công việc định kỳ để chạy qua một bash kịch bản, vì vậy, thực hiện các kịch bản sẽ thêm một công việc định kỳ.

Tôi nhận ra rằng khi bạn làm cho việc sử dụng:

crontab -e 

Sau đó nó tạo ra các tập tin:

/var/spool/cron/crontabs/root

Nơi gốc là tên của các người chạy chạy hủy đăng ký lệnh. Vì vậy, dựa trên này và trong 14.04 ít nhất, chúng ta có thể thực hiện các sau bash lệnh để tạo ra một công việc định kỳ:

echo "30 17 * * 1 /path/to/command" > /var/spool/cron/crontabs/root

Chúng tôi cũng cần phải đặt chính xác sở hữu cho thấy:

chown root:root /var/spool/cron/crontabs/root

Và thiết lập các quyền chính xác:

chmod 600 /var/spool/cron/crontabs/root

Nếu khi bạn chạy crontab -e đã có định kỳ công việc trong danh sách, sau đó bạn có thể thêm vào danh sách sử dụng lệnh sau:

echo "30 17 * * 1 /path/to/command" >> /var/spool/cron/crontabs/root

Ví dụ của kịch bản test_cron.sh bởi định kỳ mỗi phút trên ổ 18.04 sử dụng biểu tượng liên kết:

test_cron.sh tập tin:

#!/bin/bashecho "System backuped" >> /media/myname/data/backup/backup_tmp.log

Nếu bạn muốn sử dụng biến môi trường trong kịch bản giống như của bạn $USER trong những con đường đó là tốt hơn để loại con đường chính xác, bash sẽ không biết bạn biến tại thời gian thực hiện.

myname là người dùng tên (một phần của nhóm gốc, tôi không chắc chắn rằng gốc đặc quyền được cần).

Cho phép sử dụng để thiết lập tiến trình tự động công việc, tập tin sẽ được tạo ra nếu cần thiết:

sudo nano /etc/cron.allowrootmyname

Các đường dẫn đến kịch bản là /home/myname/shell/test_cron.sh

Tôi đã thay đổi chủ sở hữu và thực hiện nó thực thi:

sudo chown myname /home/myname/shell/test_cron.shchmod +x /home/myname/shell/test_cron.sh

Tôi đã liên kết tượng trưng:

sudo ln -s /home/myname/shell/test_cron.sh /usr/bin/test_cron

Ghi lại như myname Tôi đã thêm nhiệm vụ mới để thực hiện test_cron mỗi phút.

crontab -e*/1 * * * * test_cron

Để kiểm tra nếu lệnh trong danh sách:

crontab -l*/1 * * * * test_cron

Để kiểm tra thực hiện

grep -i cron /var/log/syslogNov 17 12:28:01 myname-ubuntu CRON[13947]: (myname) CMD (system-backup)

Xem xét bạn có nhiều việc làm định kỳ đặc biệt với người, họ không chia sẻ cùng một lịch trình. Cậu có thể chỉ đơn giản tạo ra file dưới /etc/cron.d/Cho phép nói tên tập tin được myjobs sau đó, chỉ cần viết tất cả các lập lịch trong tập tin đó và sau đó chạy theo lệnh.

crontab -u <username> /etc/cron.d/myjobs