Điểm:0

tập lệnh mong đợi không hoạt động trong cron nhưng chạy thành công trong thiết bị đầu cuối

lá cờ us

Đây là tập lệnh mong đợi của tôi có tên là script.exp chạy thành công khi được thực thi từ thiết bị đầu cuối. Nhưng nó không chạy khi lập lịch thông qua cronjob.

#!/usr/bin/mong đợi -f
đặt thời gian chờ -1
đẻ trứng ./sql_backup.sh
match_max 100000
mong đợi -exact "Nhập mật khẩu:"
gửi -- "pass123\r"
mong đợi eof

tập lệnh bash của tôi có tên là sql_backup.sh là:

#!/bin/bash
mysqldump -u root -p --all-databases > /home/user1/mysql/mysql-bkp.sql

và cronjob của tôi là:

* * * * * /usr/bin/expect -f /home/user1/script.exp

Cảm ơn

lá cờ cn
Bản sao của https://stackoverflow.com/q/69793254/7552? Vui lòng không hỏi cùng một câu hỏi ở những nơi khác nhau.
Điểm:1
lá cờ it

Công việc chạy qua cron không chạy trong cùng một môi trường thời gian chạy mà bạn có trên máy tính để bàn của mình. Không ai trong số bạn CON ĐƯỜNG thay đổi hoặc cài đặt biến môi trường khác từ ~/.bashrc được tự động lan truyền đến bạn cron Công việc. Ví dụ, không có $HIỂN THỊ, vì vậy các chương trình GUI cần được xử lý đặc biệt (đọc người đàn ông xhost).

Người ta có thể đặt các biến môi trường cho tất cả mọi người cron công việc trong crontab tập tin Đọc người đàn ông 5 crontab.

Nhìn vào kết quả của echo "=== id ==="; id;echo "=== set ==="; set; echo "=== env ==="; env | sort;echo "=== bí danh ==="; bí danh trong mỗi môi trường của bạn.

Kể từ khi chỉ huy một phần của crontab theo mặc định, dòng được giải thích bởi /bin/sh, có cú pháp đơn giản hơn /bin/bash, tôi khuyên bạn nên có chỉ huy là một cuộc gọi đến một đánh đập tập lệnh (có thể thực thi, được gắn kết, bắt đầu bằng #!/bin/bash) thiết lập môi trường, sau đó gọi chương trình mong muốn.

lá cờ cn
Cũng lưu ý rằng CWD cho cron là `/`, vì vậy `./script.sh` là sai.

Đă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.