คำถามติดแท็ก cron

Cron เป็นตัวกำหนดเวลางานที่อนุญาตให้ผู้ใช้เรียกใช้คำสั่งเป็นระยะ


1
ยูนิตตัวจับเวลา systemd ข้ามการทำงานครั้งถัดไปหรือไม่ถ้ากระบวนการยังไม่เสร็จ
ฉันต้องการใช้ systemd เพื่อเรียกใช้คำสั่งทุก 5 นาที อย่างไรก็ตามมีความเสี่ยงที่บางครั้งงานอาจใช้เวลานานกว่า 5 นาทีในการทำงาน ณ จุดนั้น systemd จะเริ่มต้นอินสแตนซ์ที่สองของคำสั่งเช่นฉันจะจบลงด้วย 2 กระบวนการทำงาน? เป็นไปได้ไหมที่จะบอกให้ systemd ไม่เริ่มกระบวนการที่สองหากกระบวนการแรกยังไม่เสร็จ? ถ้าไม่เป็นเช่นนั้น หมายเหตุ: ฉันหวังว่าคำตอบคือ "นั่นเป็นพฤติกรรมเริ่มต้นมันไม่ได้บันทึกไว้" หากเป็นกรณีนี้มีใครช่วยบอกฉันถึงข้อบกพร่องของเอกสารได้หรือไม่? หมายเหตุ: Cron มีปัญหาที่คล้ายกันซึ่งจะกล่าวถึงใน/unix//a/173928/11244 ฉันกำลังมองหาระบบที่เทียบเท่า
18 cron  systemd 

4
mail: ไม่สามารถส่งข้อความ: กระบวนการออกจากสถานะไม่เป็นศูนย์
ฉันเคยทำงานกับ cronjob ประมาณหนึ่งสัปดาห์โดยไม่มีปัญหาใด ๆ เมื่อคืนที่ฉันตรวจสอบฉันไม่ได้รับอีเมลที่ฉันมักจะได้รับ ฉันไปที่เทอร์มินัลเพื่อลองส่งอีเมลด้วยตัวเองฉันได้รับข้อผิดพลาดดังต่อไปนี้: mail: ไม่สามารถส่งข้อความ: กระบวนการออกจากสถานะไม่เป็นศูนย์ ฉันไม่ได้เปลี่ยนแปลงอะไรกับไฟล์ ssmtp cfg ของฉัน มันหยุดทำงานเมื่อฉันตรวจสอบและตรวจสอบทุกอย่างอีกครั้งรหัส ssmtp ทุกอย่างสมบูรณ์แบบ ฉันส่งอีเมลของฉันวันละสองครั้งผ่าน cronjob crontab ไม่ได้ถูกแทรกแซงเช่นกัน ฉันไม่รู้จริงๆว่าทำไมมันถึงหยุดทำงาน ระบบส่งอีเมลผ่าน gmail - ฉันเข้าสู่บัญชี gmail แล้วส่งอีเมลทดสอบออกพวกเขาจะถูกส่งและรับโดยไม่มีปัญหาใด ๆ นอกจากนี้ฉันได้ตรวจสอบทั่วทั้ง Google ฟอรัมเว็บไซต์ที่ฉันไม่เห็นข้อผิดพลาดใด ๆ มันสมเหตุสมผลแล้วเมื่อทุกอย่างทำงานได้ดีเมื่อ 24 ชั่วโมงที่แล้วและตอนนี้ก็หยุดทำงาน ถาม:มีวิธีใดในการวินิจฉัยและแก้ไขปัญหาวิธีการแก้ไขปัญหาดังกล่าวหรือไม่?
18 cron  email  ssmtp 

4
Cron ทำงานทุก 15 วินาที
คุณช่วยแนะนำฉันว่าควรเขียนcrontabอะไรเพื่อทำงานบางอย่าง (สำหรับการทดสอบที่ฉันจะใช้/usr/bin/chromium-browser) ทุก ๆ 15 วินาที?
18 cron 

10
ฉันจะปิดเซิร์ฟเวอร์ Linux หลังจากทำงานเป็นเวลา 60 นาทีได้อย่างไร
ฉันมีเซิร์ฟเวอร์ที่ปกติแล้วจะปิดเพื่อเหตุผลด้านความปลอดภัย เมื่อฉันต้องการที่จะทำงานกับมันฉันเปิดเครื่องทำงานของฉันและปิดมันอีกครั้ง งานของฉันมักจะใช้เวลาไม่เกิน 15 นาที ฉันต้องการใช้กลไกเพื่อปิดเครื่องโดยอัตโนมัติหลังจาก 60 นาที ฉันได้ค้นคว้าวิธีการทำเช่นนี้กับ cron แต่ฉันไม่คิดว่ามันเป็นวิธีที่เหมาะสมเพราะ cron ไม่ได้คำนึงถึงเมื่อเปิดเซิร์ฟเวอร์ครั้งสุดท้าย ฉันสามารถกำหนดรูปแบบเป็นระยะได้ แต่พวกเขาไม่ได้คำนึงถึงข้อมูลนั้น ฉันจะใช้งานสิ่งนี้ได้อย่างไร
18 cron  shutdown 

8
cron เทียบกับ sleep - อันไหนดีกว่าในแง่ของการใช้ cpu / memory อย่างมีประสิทธิภาพ?
กรณี: ฉันจำเป็นต้องเรียกใช้คำสั่ง / สคริปต์ในช่วงเวลาที่แน่นอนและสำหรับสิ่งนี้ฉันมีสองตัวเลือก: ตั้งค่าcron-job ใช้การวนซ้ำsleepในสคริปต์เอง คำถาม: ตัวเลือกใดที่ดีกว่าจากมุมมองการใช้ทรัพยากรทำไม เป็นcronวิธีที่ดีกว่า cron ใช้ทริกเกอร์บางอย่างหรืออะไรที่ทำให้มันมีประสิทธิภาพมากกว่าอีก cron? cron ใช้ขั้นตอนอะไรในการตรวจสอบและเริ่มงาน?

2
ความแตกต่างระหว่าง cron.d (เช่นใน /etc/cron.d/) และ crontab คืออะไร?
อะไรคือข้อแตกต่างที่สำคัญระหว่างไดเรกทอรี cron.d (ดังใน/etc/cron.d/) และcrontab? เท่าที่ผมเข้าใจหนึ่งสามารถสร้างไฟล์เหมือน/etc/cron.d/my_non_crontab_cronjobsและนำสิ่งที่ใครอยากอยู่ข้างในเช่นเดียวกับที่หนึ่งจะนำพวกเขาในทางcrontabcrontab -e ดังนั้นความแตกต่างหลักระหว่างสองคืออะไร
18 debian  cron 

1
การใช้อักษรตัวพิมพ์ใหญ่ที่ถูกต้องของ "cron"
cronฉันไม่ได้ค่อนข้างแน่ใจว่าสิ่งที่เป็นมาตรฐานสำหรับการสะกดคำ คนเราใช้ประโยชน์จากคำทั้งหมดหรือไม่ แค่ "C"? ตัวพิมพ์เล็กทั้งหมดหรือไม่ มีแม้กระทั่งมาตรฐานหรือคุณแค่สะกดในลักษณะใดหรือเหมาะสมที่สุด บางคนบอกว่ามันเป็นตัวย่อของ "Command Run ON unix" ส่วนคนอื่น ๆ แนะนำว่ามันมาจาก "chronos" คำภาษากรีกสำหรับ "เวลา" ดังนั้นฉันไม่แน่ใจ
17 cron 

7
วิธีการหา Crontab ผู้ลี้ภัย
ไม่กี่ปีที่ผ่านมาฉันตั้งค่างาน cron เป็น ping URL โดยอัตโนมัติทุกนาทีเป็นส่วนหนึ่งของระบบการตรวจสอบ เพราะฉันเป็นคนที่น่ากลัวฉันจึงไม่บันทึกที่นี่ วันนี้หลายปีต่อมาฉันเริ่มมีปัญหากับแอปพลิเคชันที่ส่วนอื่น ๆ ของ URL ที่ถูก ping ฉันแก้ไขมัน แต่แล้วก็รู้ว่าฉันไม่รู้ว่างาน cron นี้มาจากไหน มีวิธีการค้นหาอย่างรวดเร็วหรือตัด crontabs ทั้งหมดในระบบใดระบบหนึ่งหรือไม่? ฉันมีสิทธิ์เข้าถึงระดับรากดังนั้นการอนุญาตจึงไม่ใช่ปัญหา ฉันเคยเป็นผู้ใช้cronฉันไม่เคยมองลึกลงไปที่การติดตั้งมัน แต่สัญชาตญาณของฉัน * nix บอกว่าจะต้องมีกลุ่มของไฟล์ข้อความที่ไหนสักแห่งที่ถือ crontabs ทั้งหมด ฉันไม่ทราบว่าพวกเขาจะอยู่ที่ไหนและถ้าฉันขุดลงไปฉันจะกลัวที่จะหาบางอย่าง แต่ไม่ใช่ทั้งหมดของพวกเขาหรือหายไปนิดหน่อยแปลก ๆ ของระบบ นอกจากนี้ฉันยังตระหนักถึงการเข้าถึงรูทที่ทำได้ รับรายชื่อผู้ใช้ทั้งหมดในระบบ su ในฐานะผู้ใช้ crontab -l ทำซ้ำกับผู้ใช้ทั้งหมด แต่ฉันกำลังมองหาคู่มือน้อยกว่าเล็กน้อย (และต้องการเรียนรู้บางอย่างเกี่ยวกับการใช้ cron)
17 cron 

6
รันสคริปต์ในเชลล์แบบไม่โต้ตอบหรือไม่
ฉันมีงาน cron ที่ใช้งานสคริปต์ เมื่อฉันรันสคริปต์ผ่านเชลล์แบบโต้ตอบ (ssh'ed to bash) มันใช้งานได้ดี เมื่อสคริปต์รันด้วยตัวเองผ่าน cron สคริปต์จะล้มเหลว ฉันเดาว่ามันใช้ตัวแปรสภาพแวดล้อมบางอย่างที่ตั้งค่าไว้ในเชลล์เชิงโต้ตอบ ฉันจะแก้ไขปัญหาสคริปต์และลบสิ่งเหล่านี้ หลังจากที่ฉันทำการเปลี่ยนแปลงฉันรู้ว่าฉันสามารถจัดคิวสคริปต์ใน cron เพื่อให้มันทำงานได้ตามปกติ แต่มีวิธีที่ฉันสามารถเรียกใช้สคริปต์จากบรรทัดคำสั่ง แต่บอกให้ทำงานตามที่ cron - เช่นในสภาพแวดล้อมที่ไม่โต้ตอบหรือไม่

4
วิธีการตั้งค่าตัวแปร crontab PATH
ฉันมีปัญหาในการเรียกใช้สคริปต์จาก crontab หลังจากการวิจัยบางอย่างฉันเข้าใจว่าปัญหาเกิดขึ้นเนื่องจากพารามิเตอร์ PATH ไม่รวม / sbin ฉันดูว่ามันรวมอยู่ใน / etc / crontab: PATH=/sbin:/bin:/usr/sbin:/usr/bin เป็นการทดสอบ - งาน cron ง่าย ๆ ในการพิมพ์ตัวแปร PATH: * * * * * echo $PATH &> /root/TMP.log ผลลัพธ์คือ: cat /root/TMP.log /usr/bin:/bin ฉันไม่เข้าใจพฤติกรรมนี้ ... ฉันจะตั้งค่าตัวแปร PATH ได้อย่างไร? หรือดีกว่า - วิธีเพิ่มเส้นทางไปยังมันได้อย่างไร
17 centos  cron  path 

1
Root Cron จะไม่เรียกใช้สคริปต์ (ปฏิเสธสิทธิ์)
ฉันได้แก้ไขแท็บ root ของฉันเพื่อรันสคริปต์ที่อยู่ในโฟลเดอร์ของผู้ใช้เฉพาะโดยใช้คำสั่งนี้: sudo crontab -e เมื่อ cron รันสคริปต์นี่คือผลลัพธ์: sh: 1: /home/user/Location/Of/Script: Permission denied ฉันคิดว่า cron รูทได้รับอนุญาตให้ทำอะไร ฉันไม่มีปัญหาเมื่อฉันรันสคริปต์นี้ด้วยตนเองเป็น root ฉันได้อ่านในเอกสารที่สามารถดูข้อมูลข้อผิดพลาดเพิ่มเติมได้ที่นี่: sudo cat /var/log/syslog นี่คือสิ่งที่ฉันพบ: Jan 30 12:30:01 backup CRON[17702]: (CRON) info (No MTA installed, discarding output) อย่างไรก็ตามฉันคิดว่านี่อาจไม่เกี่ยวข้องกับปัญหาการปฏิเสธสิทธิ์ ดังนั้นฉันต้องทำอะไรจริงๆ

2
cronds จัดการกับฤดูร้อนเวลาเปลี่ยน 1 ชั่วโมง
สุดสัปดาห์ที่แล้วเราต้องเปลี่ยนเวลาจาก 02:00 เป็น 03:00 คำถาม:จะเกิดอะไรขึ้นถ้ามี cronjob ในเวลา 02:30 น. crond เป็นคำตอบที่เก่ามากสำหรับการตั้งเวลามันน่าจะจัดการได้ แต่ไม่รู้ว่าจะทำอย่างไร
16 cron  clock  dst 

4
รันงาน cron หลายงานโดยที่งานเดียวใช้เวลานาน
ฉันมีคำถามทั่วไปเกี่ยวกับงาน cron สมมติว่าฉันมีต่อไปนี้ในของฉันcrontab: * 10 * * * * someScript.sh * 11 * * * * someScript2.sh 30 11 */2 * * someScript3.sh <-- Takes a long time let's say 36 hours. * 12 * * * someScript4.sh มันฉลาดพอที่จะทำงานที่เหลือตามเวลาที่เหมาะสมหรือไม่? ตัวอย่างเช่นสคริปต์แบบยาวไม่จำเป็นต้องยกเลิก นอกจากนี้จะเกิดอะไรขึ้นถ้าสคริปต์ยาวเริ่มต้นยังคงทำงานอยู่และจะถูกเรียกโดย cron อีกครั้ง ขอขอบคุณ!
16 cron 

3
ฉันจะเริ่ม cronjob ได้อย่างไร 1 ชั่วโมงต่อวันในแต่ละวัน?
ฉันต้องเริ่ม cronjob ทุกวัน แต่หนึ่งชั่วโมงต่อมาในแต่ละวัน สิ่งที่ฉันมีจนถึงตอนนี้ส่วนใหญ่ยกเว้น 1 วันของปี: 0 0 * * * sleep $((3600 * (10#$(date +\%j) \% 24))) && /usr/local/bin/myprog เมื่อวันของปีคือ 365 งานจะเริ่มเวลา 5:00 น. แต่ในวันถัดไป (ไม่นับปีอธิกสุรทิน) จะมีวันของปีเป็น 1 ดังนั้นงานจะเริ่มเวลา 1:00 ฉันจะกำจัดตัวเรือนมุมนี้ได้อย่างไร
16 cron 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.