systemd 脚本规范

2015-02-03 11:15:20 +08:00
 cevincheung

centos7/debian8(jessie)/fedora latest/suse都试过了~完美啊

[Unit]
Description=mysql rdbms

[Service]
Type=simple
GuessMainPID=yes
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql/my.cnf
ExecStop=kill /data/mysql/mysql.pid
Restart=systemctl stop mysql && systemctl start mysql

[Install]
WantedBy=multi-user.target

https://zh.opensuse.org/openSUSE:How_to_write_a_systemd_service

5645 次点击
所在节点    分享发现
29 条回复
9hills
2015-02-03 13:31:43 +08:00
Draplater
2015-02-03 14:03:39 +08:00
&&是shell 的语法,systemd不运行shell,不能这么写
digimoon
2015-02-03 14:39:17 +08:00
systemd怎么设置环境变量和启动多个程序呢?还有就是启动一个程序触发另外一个,关闭这个也触发挂起另外一个等等
cevincheung
2015-02-03 14:47:07 +08:00
@digimoon
Environment="ONE=one" 'TWO=two two'
ExecStart=/bin/echo $ONE $TWO ${TWO}
proudzhu
2015-02-03 14:47:53 +08:00
arch 里面基本上都带了 systemd service 文件,mariadb(mysql) 的如下
https://projects.archlinux.org/svntogit/packages.git/tree/trunk/mariadb.service?h=packages/mariadb
msg7086
2015-02-04 03:36:51 +08:00
msg7086
2015-02-04 03:40:16 +08:00
顺便一提。
systemd 下 mysql 可以很方便地一台机器跑多个实例了。
以前都要借助于 mysql_multi 来实现。
而现在只要编写不同的 service 文件,给不同实例加上不同的 --data-dir 和 --socket / bind-address 启动参数即可。
cevincheung
2015-02-04 10:18:13 +08:00
@msg7086 还是习惯用defaults-file
msg7086
2015-02-04 10:38:02 +08:00
@cevincheung 是在defaults-file之后加上这些。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/167812

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX