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

Cron เป็นตัวจัดตารางงานตามเวลาในระบบปฏิบัติการคอมพิวเตอร์ Unix Cron ช่วยให้ผู้ใช้สามารถกำหนดเวลางาน (คำสั่งหรือเชลล์สคริปต์) ให้ทำงานเป็นระยะในบางช่วงเวลาหรือวันที่

4
ฉันควรแก้ไข / etc / crontab หรือรัน crontab -e เป็น root หรือไม่
ฉันกำลังตั้งค่างานการบำรุงรักษาระบบเป็นประจำซึ่งต้องทำงานเหมือนรูท ฉันวางแผนที่จะใช้รสชาติของ cron ซึ่งมาพร้อมกับ Ubuntu 14.04 LTS เป็นค่าเริ่มต้น ฉันเห็นผู้ดูแลระบบคนก่อนหน้า (ผู้ที่ลาออกจาก บริษัท ) แก้ไข / etc / crontab โดยตรง อย่างไรก็ตามฉันเข้าใจวิธีการอื่นที่เป็นไปได้คือใช้crontab -eเป็นรูท มีข้อโต้แย้งที่น่าสนใจที่จะใช้อย่างใดอย่างหนึ่งหรืออื่น ๆ หรือมันจะลงไปที่การตั้งค่า?

2
วิธีการ: 1 Cron ทำงานทุก ๆ นาที ODD และอีก 1 นาทีทุก ๆ นาที?
ฉันมีงาน cron 2 งานฉันต้องการให้หนึ่งในนั้นทำงานทุกนาทีที่คับ (1,3,5,7,9,11 .... 57,59) และฉันต้องการให้อีกหนึ่งทำงานทุก ๆ นาที (0 2,4,6,8,10,12 ... 58) ฉันจะทำในวิธีที่ง่ายได้อย่างไร (ไม่มีสคริปต์ - เพียงแค่กฎของ cron job)
43 cron 


3
การบันทึกที่ดีกว่าสำหรับ cronjobs? ส่งเอาต์พุต cron ไปยัง syslog หรือไม่
ฉันกำลังมองหาวิธีที่ดีกว่าในการบันทึก cronjobs cronjobs ส่วนใหญ่มีแนวโน้มที่จะสแปมอีเมลหรือคอนโซลรับละเว้นหรือสร้าง logfile อื่น ในกรณีนี้ฉันมีสคริปต์ Nagios NSCA ซึ่งส่งข้อมูลไปยังเซิร์ฟเวอร์ Nagios กลาง สคริปต์ send_nsca นี้ยังพิมพ์บรรทัดสถานะเดี่ยวไปที่ STDOUT ซึ่งระบุว่าสำเร็จหรือล้มเหลว 0 * * * * root /usr/local/nagios/sbin/nsca_check_disk อีเมลนี้ส่งข้อความต่อไปนี้เพื่อรูท @ localhost ซึ่งจะถูกส่งต่อไปยังทีม sysadmins ของฉัน สแปม ส่งต่อ nsca_check_disk: 1 แพ็คเก็ตข้อมูลที่ส่งไปยังโฮสต์สำเร็จแล้ว ฉันกำลังมองหาวิธีการเข้าสู่ระบบซึ่ง: ไม่ส่งสแปมข้อความไปยังอีเมลหรือคอนโซล อย่าสร้างไฟล์บันทึก krufty อันอื่นซึ่งต้องใช้การล้างข้อมูลเป็นเดือนหรือหลายปีต่อมา เก็บข้อมูลบันทึกไว้ที่ใดที่หนึ่งเพื่อให้สามารถดูได้ในภายหลังหากต้องการ ใช้งานได้กับยูนิกซ์ส่วนใหญ่ พอดีกับโครงสร้างพื้นฐานบันทึกที่มีอยู่ ใช้การประชุม syslog ทั่วไปเช่น 'สิ่งอำนวยความสะดวก' และ 'ลำดับความสำคัญ' สามารถทำงานกับสคริปต์ของบุคคลที่สามซึ่งไม่ได้ทำการบันทึกภายใน
43 linux  unix  logging  cron  syslog 

5
Cron: รับข้อผิดพลาดในอีเมลเท่านั้นหรือ
ในที่สุดฉันก็ตั้งค่าตารางเวลาการสำรองข้อมูลที่เป็นจริงในข้อมูลของฉันผ่านเชลล์สคริปต์ซึ่ง cron จัดการในช่วงเวลาที่ จำกัด น่าเสียดายที่ฉันได้รับอีเมลว่างเปล่าทุกครั้งที่มีการดำเนินการ CRON และไม่เฉพาะเมื่อมีสิ่งผิดปกติ เป็นไปได้หรือไม่ที่จะให้ CRON ส่งอีเมลเมื่อเกิดข้อผิดพลาดเช่น ของฉันTARไม่ทำงานตามที่ตั้งใจไว้? นี่คือวิธีการตั้งค่า crontab ของฉันในขณะนี้; 0 */2 * * * /bin/backup.sh 2>&1 | mail -s "Backup status" email@example.com ขอบคุณมาก!
38 bash  shell  cron  schedule 

6
การส่งออก cron ไปยังไฟล์ที่มีการประทับเวลาในชื่อ
ฉันมี crontab แบบนี้ในการติดตั้งโคมไฟ: 0 0 * * * /some/path/to/a/file.php > $HOME/cron.log 2>&1 นี้เขียนเอาท์พุทของไฟล์ที่จะcron.log อย่างไรก็ตามเมื่อมันทำงานอีกครั้งมันจะเขียนทับสิ่งที่เคยมีในไฟล์ ฉันจะให้ cron ส่งออกไปยังไฟล์ที่มีการประทับเวลาในชื่อไฟล์ได้อย่างไร ชื่อไฟล์ตัวอย่างจะเป็นดังนี้: 2010-02-26-000000-cron.log ฉันไม่สนใจรูปแบบตราบใดที่มีการประทับเวลาบางชนิด ขอบคุณล่วงหน้า.
37 cron 

5
มีวิธีการตรวจสอบรูปแบบ / etc / crontab หรือไม่?
ฉันชอบที่จะติดภารกิจตามกำหนดเวลาไว้ใน / etc / crontab เพื่อที่ฉันจะได้เห็นภาพรวมของสิ่งที่กำหนดให้ทำงานโดยไม่คำนึงว่าผู้ใช้นั้นทำงานอยู่ที่ใด gotcha เพียงอย่างเดียวคือรูปแบบที่ไม่ได้รับการตรวจสอบในการบันทึกซึ่งแตกต่างจาก crontab -e - ดังนั้นอักขระจรจัดสามารถแบ่ง cron ทั้งหมดได้อย่างเงียบ ๆ มีวิธีการตรวจสอบรูปแบบ / etc / crontab ก่อน / หลังบันทึกหรือไม่
35 cron 

3
php cli memory limit
ฉันได้รับข้อผิดพลาดของหน่วยความจำในงาน php cron: Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 71 bytes) in /opt/matrix/core/lib/DAL/DAL.inc on line 830 ส่วนที่เกี่ยวข้องของ crontab คือ: $ sudo crontab -u www-data -l MAILTO=root # m h dom mon dow command */15 * * * * php /opt/matrix/core/cron/run.php /opt/matrix ฉันกำลังใช้งาน Debian Squeeze …

10
วิธีเปลี่ยนฟิลด์“ จาก:” สำหรับอีเมลจาก Cron
ฉันใช้ SMTP ระยะไกลผ่าน nullmailer และต้องมีการตั้งค่าจากฟิลด์เป็นชื่อเฉพาะ แต่ cron ตั้งเป็น root@my.sweet.server.com ฉันจะเปลี่ยนเป็นบางสิ่งบางอย่างเช่น me@ya.ru ได้อย่างไร
34 linux  cron  email 


3
ฉันต้องรีเฟรชหรือรีสตาร์ทอะไรหลังจากที่ฉันเพิ่ม / อัปเดต crontab ใน Ubuntu Server 8.04 หรือไม่?
เมื่อคุณเปลี่ยนบางสิ่งบางอย่างใน Apache คุณต้องโหลดใหม่หรือรีสตาร์ท apache จำเป็นต้องรีเฟรชหรือรีสตาร์ทใน Ubuntu Server 8.04 หลังจากฉันเพิ่ม / อัพเดท crontab หรือไม่? ขอบคุณสำหรับความช่วยเหลือของคุณ

4
วิธีการบันทึกและออกจาก crontab -e?
จะบันทึกและออกcrontab -eอย่างไร ฉันลองทุกวิธีที่ระบุไว้ที่นี่และไม่มีงานฉันมี centos 5, vi มาโดยค่าเริ่มต้นด้วย yum และฉันติดตั้ง nano แก้ไข เพิ่งเปลี่ยนโปรแกรมแก้ไขเริ่มต้น export EDITOR=nano และตอนนี้ฉันสามารถทำสิ่งที่ฉันทำโดยใช้ nano :) ขอบคุณทุกคนและใช่ฉันควรเรียนรู้ Vi .. สักวัน !!!
32 vps  cron  centos5 

2
ทำไม cron ของฉันถึงทำงานในเดือนนี้
วันนี้คือวันที่ 1 พฤศจิกายน 2016 หรือตัวเลข (ไม่ชัดเจน), 2016-11-01 ฉันมีงาน cron ผู้ใช้ตั้งค่าเช่นนี้: # m h dom mon dow command 33 3 1 */2 * /home/user/... ควรทำงานทุก ๆ เดือนในวันที่ 1 ของเดือนเวลา 3:33 น. ไม่ว่าวันนั้นจะเป็นสัปดาห์ใด แต่ด้วยเหตุผลบางอย่างที่เปิดให้บริการในวันนี้แม้ว่า 11 จะไม่สามารถหารด้วย 2 ได้ มีคนอธิบายฉันได้ไหม การสันนิษฐานของฉันเกี่ยวกับการหารด้วย 2 ผิดหรือเปล่า? แก้ไข: ฉันลืมที่จะพูดถึงฉันกำลังใช้cronรุ่น "3.0pl1-127 + deb8u1" บนเครื่อง Debian 8.6 "Jessie"
31 cron 

4
เกิดอะไรขึ้นกับไวยากรณ์ cronjob ของฉันฉันพยายามใช้ backtick (`)?
นี่คือสิ่งที่ฉันต้องการอัตโนมัติ: 00 08 * * * psql -Uuser database < query.sql | mail somone@null.com -s "query for `date +%Y-%m-%dZ%I:%M`" นี่คือข้อความแสดงข้อผิดพลาด: /bin/sh: -c: line 0: unexpected EOF while looking for matching ``' /bin/sh: -c: line 1: syntax error: unexpected end of file
31 cron  syntax 

6
ฉันจะป้องกัน cron ไม่ให้เติม syslog ของฉันได้อย่างไร
ฉันมีสคริปต์ที่จะต้องดำเนินการในแต่ละนาที ปัญหาคือ cron กำลังเข้าสู่ระบบ/var/log/syslogทุกครั้งที่ดำเนินการ ฉันท้ายที่สุดเห็นบางสิ่งเช่นนี้ซ้ำแล้วซ้ำอีกใน/var/log/syslog: Jun 25 00:56:01 myhostname /USR/SBIN/CRON[1144]: (root) CMD (php /path/to/script.php > /dev/null) ฉันใช้ Debian คำถามของฉันคือ: มีวิธีใดที่ฉันสามารถบอก cron ได้ไม่เขียนข้อมูลนี้ไปยัง syslog ทุกครั้ง?
31 debian  cron  syslog 

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