Điểm:0

Cách chạy tác vụ theo lịch trình trên Ubuntu với dòng từ Laravel

lá cờ tg

tôi cần phải chạy Sudo php sao lưu thủ công: chạy và tự động nhập mật khẩu hàng ngày vào 3 giờ chiều. Tôi biết cách thực hiện việc này trên Windows chỉ bằng cách sử dụng trình lập lịch tác vụ và đặt chạy với tư cách quản trị viên trên tập lệnh .bat.

guiverc avatar
lá cờ cn
Chỉ các bản phát hành được hỗ trợ của Ubuntu (*tiêu chuẩn hoặc hỗ trợ công khai*) mới là chủ đề cho trang web này. Do đó, Ubuntu 14.04 LTS là EOL (*end-of-life*) không có chủ đề và Ubuntu 14.04 ESM nằm trong hỗ trợ *mở rộng* và chỉ được Canonical hỗ trợ thông qua Ubuntu Advantage, do đó cũng không có chủ đề tại đây. Tham khảo https://askubuntu.com/help/on-topic https://help.ubuntu.com/community/EOLUpgrades https://fridge.ubuntu.com/2019/05/02/ubuntu-14-04-trusty-tahr-reached-end-of-life-on-april-25-2019-esm-available/
Điểm:1
lá cờ us

Đây là Nên khá giống nhau trên Ubuntu 14.04 cũng như trên các bản phát hành mới nhất - tuy nhiên, chúng có thể có một số khác biệt.

Nhiệm vụ được chia thành hai phần:

  • để có thể sudo không có mật khẩu, hãy thêm người dùng vào sudoers tệp và cho phép chúng không yêu cầu mật khẩu.
  • Để chạy một công việc tự động, hãy sử dụng cron.

sudoers

Thêm người dùng vào nhóm sudo với

usermod -aG sudo <tên người dùng>

Biến đổi <username> cho người dùng mà bạn muốn thực hiện công việc.

Để tránh phải nhập mật khẩu, hãy chỉnh sửa /etc/sudoers tập tin:

visudo

và thêm dòng sau vào cuối tệp:

<tên người dùng> ALL=(ALL) NOPASSWD:ALL

Một lần nữa, thay đổi <username> cho người dùng mà bạn muốn thực hiện công việc.

Lưu ý rằng một cách tiếp cận tốt hơn sẽ là tạo một tệp sudoers mới cho người dùng cụ thể của bạn, thay vì chỉnh sửa tệp sudoers chính, như sau:

echo "<tên người dùng> TẤT CẢ=(TẤT CẢ) NOPASSWD: TẤT CẢ" | sudo tee /etc/sudoers.d/username

Để biết thêm thông tin xem Cách thêm người dùng vào Sudoers trong Ubuntu.

Xem thêm câu hỏi này, Làm cách nào tôi có thể thêm người dùng làm sudoer mới bằng dòng lệnh?

cron

cron rất mạnh và có rất nhiều tùy chọn khác nhau. Tuy nhiên, để hoàn thành nhiệm vụ của bạn, đây chỉ là những yếu tố cần thiết cơ bản:

Để chỉnh sửa crontab, hãy sử dụng

crontab -e

hoặc cho một người dùng khác, sử dụng

crontab -u ostechnix -e

Nếu bạn chưa bao giờ chạy crontab trước đây, bạn có thể được yêu cầu chọn một trình chỉnh sửa trong lần chạy đầu tiên.

Sau đó, đối với công việc lúc 3 giờ chiều, hãy thêm dòng

0 15 * * * <lệnh cần thực thi>

Vì vậy, trong trường hợp của bạn sử dụng

0 15 * * * Sudo php artisan backup:run

Lưu và thoát ra trình chỉnh sửa.Sau đó, để kiểm tra crontab, hãy sử dụng

crontab -l

Nếu bạn muốn thay đổi thời gian các trường như sau, từ trang cron man.

       Các trường thời gian và ngày là:

              giá trị được phép của trường
              ----- --------------
              phút 0-59
              giờ 0-23
              ngày tháng 1-31
              tháng 1-12 (hoặc tên, xem bên dưới)
              ngày trong tuần 0-7 (0 hoặc 7 là Chủ nhật hoặc sử dụng tên)

       Một trường có thể chứa dấu hoa thị (*), luôn là viết tắt của
       "đầu tiên cuối cùng".

Để biết thêm thông tin về crontab, xem Hướng dẫn cho người mới bắt đầu về công việc định kỳ, hoặc gõ người đàn ông cron.

Xem thêm câu hỏi này, Làm cách nào để thiết lập một công việc Cron?

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