CentOS 7繼承了RHEL 7的新的特性,例如強大的systemctl,而systemctl的使用也使得以往系統服務的/etc/init.d的啓動腳本的方式就此改變,也大幅提升了系統服務的運行效率。但服務的配置和以往也發生了極大的不一樣,說實在的,變的簡單而易用了許多。
下面我從頭至尾來寫一個啓動mfs的腳本
CentOS 7的服務systemctl腳本存放在:/usr/lib/systemd/,有系統(system)和用戶(user)之分,像須要開機不登錄就能運行的程序,仍是存在系統服務裏吧,即:/usr/lib/systemd/system目錄下
每個服務以.service結尾,通常會分爲3部分:[Unit]、[Service]和[Install],咱們能夠看一下系統自帶的mariadb.server,看看他是如何定義的!mysql
[root@xhk system]# cd /var/lib/systemd/system [root@xhk system]# cat mariadb.service |egrep -v "^$|[[:space:]]*#"
[Unit] Description=MariaDB database server After=syslog.target After=network.target [Service] Type=simple User=mysql Group=mysql ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n ExecStart=/usr/bin/mysqld_safe --basedir=/usr ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID TimeoutSec=300 PrivateTmp=true [Install] WantedBy=multi-user.target
咱們只須要修改一下參數就行sql
[root@xhk system]# vim mfs.service
[Unit] Description=mfs After=network.target [Service] Type=forking ExecStart=/usr/local/mfs/sbin/mfsmaster start ExecStop=/usr/local/mfs/sbin/mfsmaster stop PrivateTmp=true [Install] WantedBy=multi-user.target
保存退出以後,就能夠使用system來控制mfs進程了vim
[root@xhk system]# systemctl start mfs [root@xhk system]# systemctl enable mfs