quy tắc đầu tiên để di chuyển đến systemd
Tại thời điểm này, năm 2015, rất có thể ai đó đã thực hiện nó.
systemd đã được khoảng một vài năm. Và đã có cả một ngành công nghiệp nhà tranh của những người viết các tập tin đơn vị và xuất bản chúng. GitHub, đặc biệt, dường như thu hút kho lưu trữ của các bộ sưu tập của các đơn vị dịch vụ.
Thật vậy, chỉ cần tìm WWW cho autossh.service
(như một cụm từ) sẽ xuất hiện:
một đơn vị mẫu
Điều đó nói rằng, như tôi đã chỉ ra ở một số nơi trên StackExchange, kiểu di chuyển này không phải là một quá trình cơ học, và đôi khi chỉ dịch một cách robot từ bất cứ thứ gì có vào một tệp đơn vị đang làm sai, hoặc ít nhất là kém. Trong trường hợp này, việc autossh
tích cực thở hổn hển được xử lý với một đơn vị mẫu , nó được khởi tạo thành các đơn vị dịch vụ thực tế, được tham số hóa bằng tên đích. Vì vậy /etc/systemd/system/autossh@.service
, có:
[Đơn vị]
Mô tả = Dịch vụ AutoSSH cho đường hầm ngược từ% i
Sau = mạng.target
[Dịch vụ]
Người dùng = tự động
Môi trườngFile = / etc /% p /% i.conf
ExecStart = / usr / bin / autossh -M 0 -q -N $ SSH_USER @% i $ SSH_OPTIONS
[Tải về]
WantedBy = multi-user.target
Tạo một tệp có tên /etc/autossh/other_server.example.conf
, tối thiểu:
SSH_USER = joe
Tất cả các điều khiển thông thường sau đó áp dụng:
systemctl enable autossh@other_server.example
- Cho phép một cá thể được tự động bắt đầu tại bootstrap.
systemctl start autossh@other_server.example
- Bắt đầu bằng tay ngay lập tức.
systemctl status autossh@other_server.example
- Xem trạng thái của nó.
Và vâng, quy tắc đầu tiên thậm chí áp dụng cho điều này. Tìm kiếm, người ta có thể thấy rằng tôi đã bị đánh bại bởi điều này, chỉ dưới một hai tuần, bởi Greg Freemyer tại OpenSUSE.