Tôi có một tập lệnh được lên lịch thực hiện sao lưu svnsync hàng giờ trong kho Subversion của chúng tôi. Tôi đã chạy nó từ một mục trong crontab gốc mà không gặp vấn đề gì, nhưng quyết định tôi muốn chạy nó từ /etc/cron.hour thay vào đó để có thêm khả năng hiển thị (và vì một trong những kỹ sư của chúng tôi đã vô tình xóa crontab vì nghĩ rằng "crontab -r "có nghĩa là" đọc crontab ;-))
Các lệnh svnsync trong tập lệnh cron.hourly đều thất bại với một thông báo nói rằng chứng chỉ SSL cho kho lưu trữ SVN cần được chấp nhận (đây là thông báo bạn nhận được tương tác lần đầu tiên khi người dùng truy cập vào kho SVN, nhưng một khi chứng chỉ tôi chấp nhận tin nhắn không xuất hiện trở lại).
Vì vậy, dường như tập lệnh đang được thực thi trong một môi trường người dùng khác khi chạy từ cron.hourly so với khi nó chạy qua root crontab. Bất cứ ai có thể giải thích sự khác biệt?
CẬP NHẬT: Đáng lẽ tôi nên đề cập đến bản phân phối của mình, tôi đang sử dụng anacron trên CentOS 5.1.
CẬP NHẬT 2: Cảm ơn những lời đề nghị cho đến nay; Tôi nghĩ rằng điều này đang biến thành một câu hỏi Subversion. Tôi luôn cố gắng gói gọn môi trường của mình vào các tập lệnh của mình, nhưng vấn đề ở đây là tôi không chắc nó là gì (hoặc thiếu) môi trường khiến SVN yêu cầu chứng nhận SSL được chấp nhận khi tôi chạy tập lệnh của mình cron.hourly. Tôi đoán đó là một cái gì đó để làm với cách mà kịch bản phần chạy được thực thi.