Score:0

Cron Tab เป็นผู้ใช้เฉพาะและ python virtual env

ธง us

ต้องการเรียกใช้งาน cron รายชั่วโมงในฐานะผู้ใช้เฉพาะ (xfeautomation) และสภาพแวดล้อมเสมือนของ pythonเรียกใช้ในฐานะผู้ใช้เฉพาะ ฉันจะต้องเพิ่มตำแหน่งสคริปต์ใน PATH หรือไม่ งาน cron ปัจจุบันของฉันมีลักษณะดังนี้:

0 * * * * xfeautomation /opt/scripts/wf_venv/bin/python /opt/scripts/wf_api_linux.py 2>&l /opt/scripts/log.txt

นี่เป็นวิธีที่ถูกต้องหรือเหมาะสมที่สุดหรือไม่? ทีไอเอ

Score:1
ธง ng

เปลี่ยนไปใช้ผู้ใช้รายนั้น

sudo su - xfeautomation

วิ่ง

crontab -e

ตัวแก้ไขไฟล์ที่มีไฟล์ว่างจะปรากฏขึ้น เพิ่มงานของคุณโดยไม่มีชื่อผู้ใช้ที่นั่นและบันทึก

0 * * * * /opt/scripts/wf_venv/bin/python /opt/scripts/wf_api_linux.py 2>&l /opt/scripts/log.txt

การยืนยัน:

sudo su - xfeautomation crontab -l

หรือ

sudo crontab -u xfeautomation

Score:0
ธง ar
bob

เรียกใช้ในฐานะผู้ใช้เฉพาะ ฉันจะต้องเพิ่มตำแหน่งสคริปต์ใน PATH หรือไม่

โดยปกติแล้ว คุณไม่จำเป็นต้องแก้ไขตัวแปรสภาพแวดล้อม PATH เมื่อคุณใช้เส้นทางแบบสัมบูรณ์ เช่น คุณกำลังดำเนินการกับ /opt/scripts/wf_venv/bin/python /opt/scripts/wf_api_linux.py 2>&l /opt/scripts/log.txt

ในฐานะผู้ดูแลระบบ คุณมีหลายตัวเลือกในการสร้างชุดงานตามกำหนดเวลาที่รันภายใต้ ID ผู้ใช้อื่น:

  1. ตามที่อธิบายไว้ใน คำตอบนี้: ตั้งค่า crontab ส่วนตัวสำหรับผู้ใช้นั้น. งานใน crontab ส่วนตัวจะทำงานภายใต้ ID ผู้ใช้ของเจ้าของเสมอ
    โปรดทราบว่าเมื่อคุณในฐานะผู้ดูแลระบบตั้งค่า crontab ส่วนบุคคลสำหรับผู้ใช้รายอื่น ผู้ใช้รายนั้นจะสามารถแก้ไขและลบข้อมูลจำเพาะของงาน cron นั้นได้ ซึ่งจะยกเลิกการทำงานของคุณ

  2. หรือคุณสามารถ กำหนดเวลางานระบบจาก crontab ระบบ. crontab ระบบ (โดยทั่วไปคือ /etc/crontab และ/หรือดร็อปอินไฟล์ใน /etc/cron.d/) เป็นของ root และไม่สามารถแก้ไขได้โดยผู้ใช้ที่ไม่มีสิทธิพิเศษ ข้อมูลจำเพาะของงานใน crontab ระบบรองรับฟิลด์พิเศษที่ไม่มีอยู่ในไฟล์ crontab ส่วนบุคคล: ฟิลด์ #6 ต้องการชื่อผู้ใช้ เช่น xfeautomation ของ User ID ที่จะใช้ในการทำงาน
    ไวยากรณ์ที่คุณโพสต์นั้นถูกต้องสำหรับรายการ /etc/crontab หรือไฟล์ดรอปอินเช่น /etc/cron.d/wf_api_linux

    0 * * * * xfeautomation /opt/scripts/wf_venv/bin/python /opt/scripts/wf_api_linux.py 2>&l /opt/scripts/log.txt
    

เนื่องจากคุณกำลังบันทึกเอาต์พุตและข้อผิดพลาดทั้งหมดจึงไม่ใช่เรื่องที่ต้องกังวล แต่โดยปกติแล้ว cron จะส่งอีเมลเอาต์พุตมาตรฐานและข้อผิดพลาดไปยังรูทเมื่อคุณตั้งค่า crontab ระบบและส่งถึงผู้ใช้โดยตรงเมื่อใช้ crontab ส่วนตัว

เท่าที่ฉันทราบอย่างมีประสิทธิภาพทั้งสองวิธีส่งผลให้เกิดเงื่อนไขเดียวกันสำหรับงาน และนอกเหนือจากข้อกังวลเกี่ยวกับการเป็นเจ้าของข้อมูลจำเพาะของงานและอีเมลแล้ว ทั้งสองวิธีนั้นเทียบเท่ากัน

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา