cần sudo trong cronjob máy chủ Ubuntu gửi tệp logwatch


1

Tôi đã cấu hình logwatch trên máy chủ Ubuntu để tạo tệp html trong /tmp/logwatch.html

Tôi cũng cài đặt sendmail smtp sender.

Tôi đang cố gắng sử dụng sendEmail như thế này:

sendEmail -v -f username@gmail.com -s smtp.gmail.com:587 -xu username -xp xxxpassword -t mymail -o tls=yes -u Security Audit -m logwatch Reports -a /tmp/logwatch.html

Nó cho tôi lỗi không thể tìm thấy tệp, rõ ràng vì logwatch.html được tạo với 600 quyền.

Nếu tôi làm điều đó với sudo thì nó hoạt động và tôi nhận được thư chính xác.

Vấn đề là tôi cần tạo bash script và cron nó.

Bit sudo bên trong bash sẽ không hoạt động phải không? bạn sẽ làm gì ở chỗ tôi Tôi muốn có một giải pháp đơn giản.

  1. Tạo tập tin ghi logwatch và đặt quyền 666. Nhưng tôi không thể tìm thấy tùy chọn này.
  2. Viết sudo trong tập tin bash, nhưng làm thế nào để tôi vượt qua mật khẩu?
  3. Còn gì nữa không?

Câu trả lời:


1

Để thực hiện một công việc định kỳ là root, bạn không cần sử dụng sudo mỗi khi kịch bản chạy.

Chỉ cần thêm nó vào crontab của root:

sudo crontab -e

Tôi không biết có 2 crontabs, tôi đã thử sudo và không có và tôi thấy hai tệp khác nhau. Cảm ơn.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.