| Crates.io | systemd-generator |
| lib.rs | systemd-generator |
| version | 0.1.2 |
| created_at | 2025-12-02 06:38:29.103826+00 |
| updated_at | 2025-12-02 07:37:08.475442+00 |
| description | A simple CLI tool to generate systemd service files quickly |
| homepage | https://github.com/Waitfish/systemd-generator |
| repository | https://github.com/Waitfish/systemd-generator |
| max_upload_size | |
| id | 1961203 |
| size | 89,964 |
一个简单高效的命令行工具,快速生成 Linux systemd service 配置文件。
从 Releases 页面下载最新版本:
# 下载最新版本
wget https://github.com/Waitfish/systemd-generator/releases/latest/download/systemd-generator
# 添加执行权限
chmod +x systemd-generator
# 移动到系统路径
sudo mv systemd-generator /usr/local/bin/
如果你已经安装了 Rust 工具链:
cargo install systemd-generator
git clone https://github.com/Waitfish/systemd-generator.git
cd systemd-generator
cargo build --release
sudo cp target/release/systemd-generator /usr/local/bin/
systemd-generator --name myapp --exec /usr/bin/python3
systemd-generator \
--name myapp \
--exec "/usr/bin/python3 /opt/myapp/main.py" \
--description "我的应用服务" \
--working-dir /opt/myapp \
--user www-data \
--output /tmp/myapp.service
systemd-generator --help
| 参数 | 简写 | 必需 | 说明 |
|---|---|---|---|
--name |
-n |
✅ | 服务名称 |
--exec |
-e |
✅ | 可执行文件的完整路径 |
--description |
-d |
❌ | 服务描述(默认:"My Service") |
--working-dir |
-w |
❌ | 工作目录 |
--user |
-u |
❌ | 运行用户(默认:当前用户) |
--output |
-o |
❌ | 输出文件路径(默认:当前目录) |
systemd-generator \
--name flask-app \
--exec "/usr/bin/python3 /home/user/app/app.py" \
--description "Flask Web Application" \
--working-dir /home/user/app \
--user www-data
systemd-generator \
--name node-app \
--exec "/usr/bin/node /opt/app/server.js" \
--description "Node.js Application" \
--working-dir /opt/app \
--user nodeuser
systemd-generator \
--name go-api \
--exec /opt/myservice/server \
--description "Go API Server" \
--user apiuser
生成 service 文件后,按照以下步骤安装:
# 1. 移动到 systemd 目录
sudo mv myapp.service /etc/systemd/system/
# 2. 重载 systemd 配置
sudo systemctl daemon-reload
# 3. 启用服务(开机自启动)
sudo systemctl enable myapp
# 4. 启动服务
sudo systemctl start myapp
# 5. 查看服务状态
sudo systemctl status myapp
# 6. 查看服务日志
sudo journalctl -u myapp -f
[Unit]
Description=My Application
After=network.target
[Service]
Type=simple
User=myuser
ExecStart=/usr/bin/myapp
WorkingDirectory=/opt/myapp
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
# 克隆仓库
git clone https://github.com/Waitfish/systemd-generator.git
cd systemd-generator
# 编译
cargo build
# 运行测试
cargo test
# 运行
cargo run -- --name test --exec /bin/bash
# 构建 release 版本
cargo build --release
欢迎提交 Issue 和 Pull Request!
本项目采用 MIT 许可证 - 查看 LICENSE-MIT 文件了解详情
Made with ❤️ using Rust 🦀