ปัญหาในการใช้งานที่กำหนดเวลาไว้เพื่อรันเชลล์สคริปต์ (Ubuntu Linux)


1

ฉันกำลังพยายามสร้างงานที่กำหนดเวลาไว้ซึ่งรันเชลล์สคริปต์ซ้ำและฉันมีปัญหาในการทำให้มันทำงานได้ ฉันให้คำสั่งต่อไปนี้เพื่อเรียกใช้ทุกนาที:

~/Desktop/foo/my_script

แต่มันไม่เคยวิ่ง (คำสั่งนี้รันเชลล์สคริปต์ผ่านเทอร์มินัลไม่มีปัญหา) ความคิดใด ๆ ที่ฉันทำผิด ขอบคุณ!

หมายเหตุ: นี่คือเชลล์สคริปต์ของฉัน:

#!/bin/bash
sleep 15
date >> output.txt
{ time ./foo > /dev/null ; } 2>> output.txt

และนี่คือสาย cron:

* * * * * /home/joe/Desktop/foo/my_script # JOB_ID_3

1
คุณใช้ตัวจัดตารางเวลาอะไรและคุณรู้ได้อย่างไรว่ามันไม่ทำงาน
PeterJCLaw

ฉันใช้แอปพลิเคชั่นตามกำหนดเวลาจากแอปพลิเคชัน -> เครื่องมือระบบ -> งานที่กำหนดเวลาไว้ในเมนูอูบุนตู ฉันรู้ว่ามันไม่ทำงานเพราะงานไม่สำเร็จ ฉันคิดว่าแอปพลิเคชันนี้ใช้ cron เพราะฉันเพิ่งรันคำสั่ง 'crontab -e' และมีรายการสำหรับงานที่ฉันสร้างในงานที่กำหนดเวลา
John Kube

อากรุณาโพสต์บรรทัด cron ฉันสงสัยว่าคุณเข้าใจผิด (เหมือนตอนแรกที่ทำ) มันทำงานอย่างไร
PeterJCLaw

ฉันโพสต์ไว้ด้านบน :)
John Kube

คำตอบ:


0

ตัวกำหนดตารางเวลาส่วนใหญ่มีแนวโน้มที่จะไม่ทราบวิธีการขยาย~ลองให้เส้นทางที่แน่นอนแทน

แก้ไขหลังจากพบวิธีแก้ปัญหา:

ความคิดอื่นที่ฉันมีคืออาจ cron อาจละเว้นบรรทัดเนื่องจาก * ทั้งหมด แต่ฉันไม่สามารถทำซ้ำนี้ ฉันพบว่ามันเป็นหน้าคนที่ค่อนข้างช่วยเหลือ แต่หน้าวิกิพีเดียในcronค่อนข้างมีประโยชน์ ฉันจะแนะนำให้ใช้บรรทัด:

*/1 * * * * /home/joe/Desktop/foo/my_script # JOB_ID_3

เช่นนี้จะทำงานที่*/1(เช่นทุกนาทีที่หารด้วย 1) หากยังคงล้มเหลว


อืมเพิ่งลองสิ่งนี้ด้วย cron และดูเหมือนว่าจะทำงานได้ดี
PeterJCLaw

ฉันยังใช้งานไม่ได้ ...
John Kube

0

ฉันพบปัญหา Cron รันงานในโฮมไดเร็กตอรี, นั่นคือที่ที่ไฟล์เอาต์พุตของฉันแสดงขึ้น. นี่คือเหตุผลที่ฉันคิดว่ามันไม่ทำงาน


จึงเป็นความคิดที่ดีที่จะใช้พา ธ สัมบูรณ์สำหรับไฟล์เสมอ
Dennis Williamson

สิ่งนี้เกิดขึ้นกับฉัน แต่ฉันเลิกใช้มันง่ายเกินไปปัญหา! แม้ว่าฉันจะทำผิดพลาดไปหลายครั้ง สิ่งอื่น ๆ ที่ฉันจะแนะนำก็คือคุณตรวจสอบว่าเป็น + x แต่การทำงานอย่างถูกต้องในเชลล์แนะนำว่านี่ไม่ใช่ปัญหา
PeterJCLaw
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.