จะเก็บสคริปต์ cronjob ได้ที่ไหน


18

ฉันไม่ต้องการเก็บไว้ใน/home/myusernameสารบบของฉัน มีวิธีปฏิบัติที่ดีที่สุดในการจัดเก็บเชลล์สคริปต์ของคุณสำหรับ cronjobs หรือไม่? ที่ระดับรูต?

ฉันใช้เซิร์ฟเวอร์อูบุนตู 12.04 ตอนนี้


1
ทำไมคุณไม่ต้องการที่จะเก็บไว้ในไดเรกทอรีบ้านของคุณ? หากพวกเขาเป็นส่วนตัวคุณนั่นคือสิ่งที่พวกเขาควรจะเป็น - อาจจะอยู่ในไดเรกทอรีย่อยบางชื่อ หากพวกเขามีระบบโดยรวมบางทีพวกเขาควรจะอยู่ที่อื่น (ความแตกต่างอาจคลุมเครือหากคุณเป็นผู้ใช้คนเดียว)
Keith Thompson

1
ไม่มี "คำตอบ" สำหรับคำถามนี้จริงๆ .... มีการตั้งค่าหลายอย่างมากมาย
mdpc

คุณอาจพบว่าบางอย่างโดยค่าเริ่มต้นใน/usr/sbin
tony gil

คำตอบ:


19

โดยปกติแล้วฉันใส่ของฉันใน:

  • /usr/local/bin/ เพื่อให้สคริปต์ทำงานโดยผู้ใช้มากกว่าหนึ่งราย
  • /usr/local/sbin/ สำหรับสคริปต์ที่ต้องรันในฐานะรูท

ด้วยวิธีนี้คุณแยกงานที่สคริปต์ทำออกจาก cron ซึ่งเพิ่งเปิดตัวโดยอัตโนมัติ

คุณจะต้องรูทเพื่อจัดเก็บไฟล์ที่นั่น


"คุณจะต้องรูทเพื่อจัดเก็บไฟล์ที่นั่น" - ไม่ใช่ถ้าคุณตั้งค่าการอนุญาตที่ถูกต้อง ฉันมักจะทำ/usr/localและไดเรกทอรีย่อยของกลุ่มเขียนได้และเพิ่มตัวเองในกลุ่ม (พูด, install) (แน่นอนคุณจะต้องรูทเพื่อกำหนดสิทธิ์ตั้งแต่แรก)
Keith Thompson

ฉันเป็นผู้ใช้หลักและมีสิทธิ์รูท ฉันต้องการที่จะไม่มีใครแก้ไขได้ดังนั้นฉันจึงต้องพึ่งพา / usr / local ไม่มีไดเรกทอรีมาตรฐาน / mycronjobs แม้ว่าคนทั่วไปจะสร้าง?
tarabyte

หากคุณต้องการให้ไม่มีใครสามารถแก้ไขได้ ทำให้เป็นเจ้าของโดย root และตั้งค่าสิทธิ์ 500 หรือ 700 - คุณสามารถรูทได้: <กลุ่มของคุณ> @ 550 หรือ 770 สำหรับเอฟเฟกต์แบบเดียวกันกับที่คุณสามารถแก้ไขได้โดยไม่ต้องรูท imho สะอาดกว่า sudo ก่อนที่จะทำการแก้ไขสคริปต์และทำให้มันเป็นของ root
Sirex

6
@terabyte โดยปกติ~/binแล้วไดเรกทอรีมาตรฐานจะถูกเพิ่มเข้าไปใน $ PATH คุณถามถึงแนวปฏิบัติที่ดีที่สุดคือมีการบันทึกสคริปต์ส่วนตัวของคุณไว้ในไดเรกทอรีหลัก มันเป็น neater และทำให้ง่ายต่อการอัพเกรดในภายหลัง
terdon

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