Điểm:0

Cron Tab với tư cách là người dùng cụ thể và môi trường ảo python

lá cờ us

Muốn chạy một công việc định kỳ hàng giờ với tư cách là một người dùng cụ thể (xfeautomation) và môi trường ảo python.Chạy với tư cách là một người dùng cụ thể, tôi có phải thêm vị trí tập lệnh vào PATH không? Công việc định kỳ hiện tại của tôi trông như thế này:

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

Đây có phải là cách chính xác hoặc tối ưu? TIA

Điểm:1
lá cờ ng

chuyển sang người dùng đó.

sudo su - xfeautomation

Chạy

crontab -e

Trình chỉnh sửa tệp có tệp trống sẽ xuất hiện. Thêm công việc của bạn mà không có tên người dùng ở đó và lưu nó.

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

Xác minh:

sudo su - xfeautomation crontab -l

HOẶC

Sudo crontab -u xfeautomation

Điểm:0
lá cờ ar
bob

Chạy với tư cách là một người dùng cụ thể, tôi có phải thêm vị trí tập lệnh vào PATH không?

Bạn thường không cần sửa đổi biến môi trường PATH khi bạn đang sử dụng các đường dẫn tuyệt đối như bạn đang làm với /opt/scripts/wf_venv/bin/python /opt/scripts/wf_api_linux.py 2>&l /opt/scripts/log.txt

Với tư cách là quản trị viên hệ thống, bạn có một số tùy chọn để tạo các công việc hàng loạt đã lên lịch chạy dưới một ID người dùng khác:

  1. Như đã giải thích trong câu trả lời này: thiết lập một crontab cá nhân cho người dùng đó. Các công việc trong crontab cá nhân sẽ luôn chạy dưới ID người dùng của chủ sở hữu của họ.
    Lưu ý rằng khi bạn với tư cách là quản trị viên thiết lập crontab cá nhân cho người dùng khác, người dùng đó sẽ có thể sửa đổi và xóa đặc tả công việc định kỳ đó, hoàn tác công việc của bạn.

  2. Ngoài ra, bạn có thể lên lịch một công việc hệ thống từ crontab hệ thống. crontab hệ thống (thường /etc/crontab và/hoặc các tệp thả vào trong /etc/cron.d/) được sở hữu bởi root và người dùng không có đặc quyền không thể sửa đổi. Đặc tả công việc trong crontab hệ thống hỗ trợ một trường bổ sung không có trong các tệp crontab cá nhân: trường #6 cần tên người dùng, chẳng hạn như xfeautomation của ID người dùng sẽ được sử dụng để thực hiện công việc.
    Cú pháp bạn đã đăng là chính xác cho một mục trong /etc/crontab hoặc một tệp thả vào như /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
    

Vì bạn đang ghi nhật ký tất cả đầu ra và lỗi không phải là vấn đề đáng lo ngại, nhưng thông thường, cron sẽ gửi email đầu ra tiêu chuẩn và lỗi tới root khi bạn thiết lập crontab hệ thống và trực tiếp cho người dùng khi sử dụng crontab cá nhân.

Theo như tôi biết một cách hiệu quả, cả hai phương pháp đều dẫn đến các điều kiện giống nhau cho công việc và ngoài những lo ngại về quyền sở hữu thông số công việc và email, chúng là tương đương nhau.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.