Tôi muốn chạy một lệnh đơn giản sau khi Ubuntu của tôi khởi động và các dịch vụ mạng được thiết lập (nó sẽ làm như vậy bất kể tôi có đăng nhập hay không)
Nếu tôi chạy lệnh theo cách thủ công, nó sẽ khởi động các ứng dụng kèm theo: hợp lưu dịch vụ địa phương bắt đầu
. Vì vậy, nó hoạt động ít nhất với người dùng của tôi.
câu hỏi:
- Làm cách nào tôi có thể chạy lệnh khi khởi động hệ thống (sau khi mạng được thiết lập)?
- Đối với bất kỳ giải pháp nào được đề xuất, làm cách nào tôi có thể theo dõi xem giải pháp đó có thực sự hiệu quả hay không?
Những gì tôi đã cố gắng cho đến nay:
crontab: sudo crontab e
và thêm @reboot dịch vụ cục bộ hợp lưu bắt đầu
. Dòng này bị xóa mỗi khi tôi khởi động lại hệ thống.
dịch vụ hệ thống: Tôi đã thêm lệnh vào tập lệnh sh trong /usr/local/bin/confluent-startup.sh. Sau đó, tôi đã tạo tệp dịch vụ trong /etc/systemd/system/confluent-local.service
Tệp này sẽ chứa nội dung sau:
[Đơn vị]
Mô tả=bắt đầu hợp lưu cục bộ
Sau=mạng.dịch vụ
[Dịch vụ]
ExecStart=/usr/local/bin/confluent-local-start.sh
Loại=oneshot
RemainafterExit=có
[Cài đặt]
WantedBy=multi-user.target
Tôi đã tải lại các dịch vụ
Sudo systemctl daemon-tải lại
Sudo systemctl enable confluent-local.service
Sau khi khởi động lại, tôi thấy dịch vụ đã kích hoạt đang gọi: systemctl list-unit-files --type service -all
. Nhưng chạy trạng thái dịch vụ địa phương hợp lưu
sẽ cho tôi thấy rằng tất cả các dịch vụ vẫn ngừng hoạt động.Tại sao nó hoạt động thủ công mà không phải với systemd? (Thông tin cho biết: Tôi đã thay đổi quyền đối với dịch vụ và tập lệnh thành quyền truy cập đầy đủ: 777 (vâng, tôi biết... Nó chỉ để thử nghiệm))
Có manh mối nào không?