Điểm:9

Chạy nhiều tập lệnh trong một thư mục có cron

lá cờ us
bNi

Tôi đang làm việc với nhiều tập lệnh. Vì vậy, tôi thêm/xóa tập lệnh bằng "crontab -e" rất nhiều lần. Tôi đã cố gắng tạo cấu trúc "Có sẵn/Đã bật" cho những thứ này.

Ví dụ:
Đây là cây cấu trúc của tôi:

# tất cả tập lệnh
tập lệnh/có sẵn/1.sh
tập lệnh/có sẵn/2.sh
tập lệnh/có sẵn/3.sh

# tập lệnh đã bật 
tập lệnh/đã bật/1.sh -> tập lệnh/có sẵn/1.sh
tập lệnh/đã bật/2.sh -> tập lệnh/có sẵn/2.sh

Sau đó, tôi thêm dòng này vào "crontab -e":

* * * * * /home/user/scripts/enabled/* &> /dev/null

Đây là đầu ra của Sudo systemctl status cron.service :

     Nhóm C: /system.slice/cron.service
             ââ17763 /bin/bash /home/user/scripts/enabled/1.sh /home/user/scripts/enabled/2.sh

Cuối cùng:
1.sh đang hoạt động mỗi phút, nhưng 2.sh không hoạt động.

Tôi chỉ muốn chạy tập lệnh từ cron. Tôi có thể làm gì cho việc này, nếu tôi không muốn tạo một tập lệnh để "chạy tập lệnh trong một thư mục" bằng một tập lệnh khác?

Ngoài ra, bạn có biết bất kỳ nhóm Telegram nào dành cho "Quản trị viên hệ thống GNU/Linux" đang hoạt động không?

Cảm ơn bạn.

Someone avatar
lá cờ my
Vui lòng chỉnh sửa câu hỏi để giới hạn câu hỏi trong một vấn đề cụ thể với đủ chi tiết để xác định câu trả lời đầy đủ.
bNi avatar
lá cờ us
bNi
Bây giờ ổn chưa? @Algins
Someone avatar
lá cờ my
Bạn có thể phê duyệt [chỉnh sửa của tôi.](https://askubuntu.com/suggested-edits/174342)
Điểm:14
lá cờ mx

Ngoài ra, bạn có thể sử dụng bộ phận chạy :

* * * * * /usr/bin/run-parts --regex='.+' /home/user/scripts/enabled

Tham số --regex='.+' cho phép bất kỳ tên tập tin. Chi tiết: người đàn ông run-bộ phận.

bNi avatar
lá cờ us
bNi
Không làm việc cho tôi.
pasman pasmański avatar
lá cờ mx
run-parts theo mặc định không chấp nhận dấu chấm trong tên tệp. Đổi tên `1.sh` thành `1`, v.v.
bNi avatar
lá cờ us
bNi
Cảm ơn, nó đã hoạt động!
Điểm:5
lá cờ ar

Cố gắng

cho tập lệnh trong /home/user/scripts/enabled/*; làm $script &>/dev/null; xong
Điểm:4
lá cờ cn

Khi bạn chỉ định

/home/user/scripts/enabled/*

cron nhìn thấy

/home/user/scripts/enabled/script1.sh /home/user/scripts/enabled/script2.sh ...

Vì vậy, bạn đang thực hiện tập lệnh1.sh với các đối số là tên đường dẫn của các tập lệnh khác trong thư mục đó. Tập lệnh1 của bạn không đọc các đối số: vì vậy nó chạy và nó chạy tốt.

Thay vào đó, có cron chạy một biểu thức tập lệnh e để "không chắc liệu cron có hoạt động với các ký tự đại diện theo cách bạn nghĩ hay không", đến lượt nó, chạy tất cả các tập lệnh trong kích hoạt danh mục. Bạn có thể làm điều đó với một ... làm vòng.

vanadium avatar
lá cờ cn
@terdon đúng, tất nhiên. tôi đã thay đổi cái này

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