Tôi cần phải điều hành một công việc CRON
cứ sau 10 giây kể từ thời gian bắt đầu.
Trong Linux, làm thế nào để điều hành một công việc CRON
sau mỗi 10 giây kể từ khi nó bắt đầu?
Tôi đang cố gắng giải quyết điều đó như sau: Khi tôi đưa ra yêu cầu [hoặc bắt đầu] lúc 04:28:34, nó sẽ bắt đầu lúc 04:28:44 Không phải lúc 4:28:40when I make a request [or start] at 04:28:34 it should start at 04:28:44 not at 4:28:40
Đây là những gì tôi đã làm
# m h dom mon dow command
*/10 * * * * /usr/bin/wget //api.us/application/
Tôi đã làm gì sai? Tại sao điều này không kích hoạt wget
cứ sau 10 giây?
B--rian
5.28810 Huy hiệu vàng36 Huy hiệu bạc78 Huy hiệu đồng10 gold badges36 silver badges78 bronze badges
Khi được hỏi ngày 18 tháng 5 năm 2015 lúc 5:45May 18, 2015 at 5:45
5
Để giải thích về câu trả lời của Sougata Bose, tôi nghĩ rằng OP muốn một lệnh được chạy cứ sau 10 giây kể từ thời gian bắt đầu; Không phải 10 giây sau phút đầu tiên và mỗi phút tiếp theo.
Cron chỉ có độ phân giải 1 phút [có những công cụ khác mà tôi nghĩ rằng có thể có độ phân giải tốt hơn nhưng chúng không tiêu chuẩn trên Unix].
Do đó, để giải quyết vấn đề của bạn, bạn cần 60 giây / 10 giây = 6 công việc cron, mỗi công việc có một giấc ngủ.
ví dụ. Chạy crontab -e và thêm các dòng sau vào trình soạn thảo đã chọn của bạn:
* * * * * [ /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 10 ; /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 20 ; /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 30 ; /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 40 ; /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 50 ; /usr/bin/wget //api.us/application/ ]
Đã trả lời ngày 28 tháng 3 năm 2017 lúc 10:01Mar 28, 2017 at 10:01
RodentrodentRodent
1.5781 Huy hiệu vàng11 Huy hiệu bạc13 Huy hiệu đồng1 gold badge11 silver badges13 bronze badges
3
Một tùy chọn khác là chỉnh sửa crontab của bạn với
* * * * * [ /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 10 ; /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 20 ; /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 30 ; /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 40 ; /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 50 ; /usr/bin/wget //api.us/application/ ]
0 và viết:* * * * * for i in {1..6}; do /usr/bin/wget //api.us/application/ & sleep 10; done
B--rian
5.28810 Huy hiệu vàng36 Huy hiệu bạc78 Huy hiệu đồng10 gold badges36 silver badges78 bronze badges
Khi được hỏi ngày 18 tháng 5 năm 2015 lúc 5:45Jan 13, 2020 at 14:35
2
Để giải thích về câu trả lời của Sougata Bose, tôi nghĩ rằng OP muốn một lệnh được chạy cứ sau 10 giây kể từ thời gian bắt đầu; Không phải 10 giây sau phút đầu tiên và mỗi phút tiếp theo.
* * * * * [ /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 10 ; /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 20 ; /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 30 ; /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 40 ; /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 50 ; /usr/bin/wget //api.us/application/ ]
2 will run every 10 sec.Cron chỉ có độ phân giải 1 phút [có những công cụ khác mà tôi nghĩ rằng có thể có độ phân giải tốt hơn nhưng chúng không tiêu chuẩn trên Unix].
Do đó, để giải quyết vấn đề của bạn, bạn cần 60 giây / 10 giây = 6 công việc cron, mỗi công việc có một giấc ngủ.Dec 9, 2020 at 7:22
6
ví dụ. Chạy crontab -e và thêm các dòng sau vào trình soạn thảo đã chọn của bạn:
0,10,20,30,40,50 * * * * *
Đã trả lời ngày 28 tháng 3 năm 2017 lúc 10:01Jul 29, 2021 at 19:45
java-addict301java-addict301java-addict301
Rodentrodent2 gold badges22 silver badges33 bronze badges
3
1.5781 Huy hiệu vàng11 Huy hiệu bạc13 Huy hiệu đồng
watch -n10 -x your_command
Das_Geek
Một tùy chọn khác là chỉnh sửa crontab của bạn với
0 và viết:7 gold badges20 silver badges26 bronze
badges* * * * * [ /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 10 ; /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 20 ; /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 30 ; /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 40 ; /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 50 ; /usr/bin/wget //api.us/application/ ]
Đã trả lời ngày 13 tháng 1 năm 2020 lúc 14:35Dec 4, 2019 at 14:36
* * * * * [ /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 10 ; /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 20 ; /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 30 ; /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 40 ; /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 50 ; /usr/bin/wget //api.us/application/ ]
1 sẽ chạy cứ sau 10 phút. * * * * * [ /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 10 ; /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 20 ; /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 30 ; /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 40 ; /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 50 ; /usr/bin/wget //api.us/application/ ]
2 sẽ chạy cứ sau 10 giây.while true
do
# or whatever command you need to run
rm -rf /var/www/some-directory
sleep 10
done
Bạn có thể kiểm tra trình chỉnh sửa cron để biết thêm tùy chọn.
nohup bash my-endless-script.sh
Đã trả lời ngày 9 tháng 12 năm 2020 lúc 7:22
Sử dụng dấu phẩy trong trường Seconds cũng hoạt động:
Đã trả lời ngày 29 tháng 7 năm 2021 lúc 19:45Jun 18, 2021 at 14:58
2.6942 Huy hiệu vàng22 Huy hiệu bạc33 Huy hiệu ĐồngČamo
Sử dụng
3 thay thế; Ví dụ:11 gold badges51 silver badges96 bronze badges* * * * * [ /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 10 ; /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 20 ; /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 30 ; /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 40 ; /usr/bin/wget //api.us/application/ ]
* * * * * [ sleep 50 ; /usr/bin/wget //api.us/application/ ]
2