linux学习-将seafile启动脚本设置为开机启动服务

有时候,我们安装的linux软件和程序不是通过yum安装,而是通过编译或者其他方式安装。有时需要将程序设置为服务,达到开机启动的目的。

我在公有云的与服务器上搭建了seafile网盘,当我重启云服务器的时候,seafile的程序不会自动启动,需要我在相关目录下执行脚本,才能启动。

将两个脚本使用软连接到/root/目录下,方便执行

现在采用服务的方式,将这这两个脚本加入开机启动

创建 systemd 服务文件 /etc/systemd/system/seafile.service

vim /etc/systemd/system/seafile.service 
=======================内容如下========================
[Unit]
Description=Seafile
# add mysql.service or postgresql.service depending on your database to the line below
After=network.target

[Service]
Type=oneshot
ExecStart=/home/cloud_storage/seafile-server-latest/seafile.sh start
ExecStop=/home/cloud_storage/seafile-server-latest/seafile.sh stop
RemainAfterExit=yes
User=seafile
Group=seafile

[Install]
WantedBy=multi-user.target

这个文件由三个部分组成:Unit\Service\Install

[Unit]主要是为了解决依赖关系。常见的添加Requires、After,如果这个依赖是可选的,那么是Wants、After。依赖关系通常被用在服务(service)而不是(target)上,所以上述的httpd所依赖的仅仅是一些target,因而也就没有Requires和Wants出现。

[service]可选择几种不同的服务启动方式,启动方式通过Type参数进行设置。

Type=simple(默认值):systemd认为该服务将立即启动。服务进程不会fork。如果该服务要启动其他服务,不要使用此类型启动,除非该服务是socket激活型。

Type=forking:systemd认为当该服务进程fork,且父进程退出后服务启动成功。对于常规的守护进程(daemon),除非你确定此启动方式无法满足需求,使用此类型启动即可。使用此启动类型应同时指定 PIDFile=,以便systemd能够跟踪服务的主进程。

Type=oneshot:这一选项适用于只执行一项任务、随后立即退出的服务。可能需要同时设置 RemainAfterExit=yes 使得 systemd 在服务进程退出之后仍然认为服务处于激活状态。

Type=notify:与 Type=simple 相同,但约定服务会在就绪后向 systemd 发送一个信号。这一通知的实现由 libsystemd-daemon.so 提供。

Type=dbus:若以此方式启动,当指定的 BusName 出现在DBus系统总线上时,systemd认为服务就绪

[Install]

WantedBy=multi-user.target多用户启动

创建 systemd 服务文件 /etc/systemd/system/seahub.service

vim /etc/systemd/system/seahub.service
=======================内容如下========================
[Unit]
Description=Seafile hub
After=network.target seafile.service

[Service]
# change start to start-fastcgi if you want to run fastcgi
ExecStart=/home/cloud_storage/seafile-server-latest/seahub.sh start
ExecStop=/home/cloud_storage/seafile-server-latest/seahub.sh stop
User=seafile
Group=seafile
Type=oneshot
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

重新加载服务

systemctl daemon-reload
systemctl enable seafile.service
systemctl enable seahub.service

原文地址:http://blog.51cto.com/11555417/2151938

时间: 2024-10-07 12:01:09

linux学习-将seafile启动脚本设置为开机启动服务的相关文章

如何将shell脚本设置为开机启动?

1.先新建一个test.sh 的脚本,给a+x权限,然后添加# chkconfig: ? 2345 50 502.chkconfig --add test3.systemctl enable test 其中2345是默认启动级别,级别有0-6共7个级别. ? 等级0表示:表示关机 ? 等级1表示:单用户模式 ? 等级2表示:无网络连接的多用户命令行模式 ? 等级3表示:有网络连接的多用户命令行模式 ? 等级4表示:不可用 ? 等级5表示:带图形界面的多用户模式 ? 等级6表示:重新启动 ? 15

Linux 设置mysql开机启动

linux开启启动的程序一般放在/etc/rc.d/init.d/里面,/etc/init.d/是其软连接 mysql设为linux服务 cp /usr/local/mysql5/share/mysql/mysql.server /etc/init.d/mysqld chkconfig --add mysqld chkconfig --level 2345 mysqld on chown mysql:mysql -R /usr/local/mysql5/ service mysqld start

linux学习之路之脚本编程知识点

脚本编程知识点 1.获取变量中字符的长度 ${#VARNAME} 2.变量赋值 ${parameter:-word}:如果parameter为空或者未定义,则整个表达式为word:否则表达式值为parameter ${parameter:+word}:如果parameter为空或者未定义,则整个表达式为空:如果parameter有值,则整个表达式为word ${parameter:=word}:如果parameter为空或者未定义,则整个表达式值为parameter:否则整个表达式值为word

linux中mysql如何设置为开机启动

开机启动命令 chkconfig mysqld on 查询是否设置为开机启动命令 chkconfig --list mysqld 结果为 mysqld 0:关闭 1:关闭 2:启动 3:启动 4:启动 5:启动 6:关闭

在Centos 中将zookeeper设置成开机启动

部署了Zookeeper之后,当需要重启机器时,开机后往往需要花一点时间对zookeeper集群进行启动,由于zookeeper没有主节点的概念,且一个节点的重启不会对集群造成什么影像,所以可以考虑把 zookeeper设置成开机启动,具体流程如下 准备工作 切换到/etc/rc.d/init.d/目录下 创建zookeeper文件:touch zookeeper 更新权限:chmod +x zookeeper 编辑 文件,在zookeeper里面输入如下内容 #!/bin/bash #chkc

CentOS 64-bit下安装JDK和Tomcat并设置Tomcat开机启动操作步骤

准备文件如下: 1.CentOS-6.4-x86_64-bin-DVD1.iso 2.jdk-7u67-linux-x64.rpm 3.apache-tomcat-7.0.55.tar.gz 安装步骤如下: 一.安装JDK [[email protected] /]# java -versionbash: java: command not found [[email protected] /]# rpm -ivh /soft/jdk-7u67-linux-x64.rpmPreparing...

源码安装apache后将其设置为开机启动

从网上下载apache的源码包,例如/usr/local/src/httpd-2.2.34.tar.gz,解压到目录/usr/local/src/httpd-2.2.34,编译并安装,假如安装到/usr/local/apache目录中,将其设置为开机启动,并且可以使用service启动和关闭. 1.找到httpd-2.2.34/build/rpm/httpd.init并移动:mv /usr/local/src/httpd-2.2.34/build/rpm/httpd.init /etc/rc.d

win7下exe文件设置为开机启动

如何将自己的exe程序设置为开机自启动 如何将自己的exe程序设置为开机自启动 将自己的exe程序设置为开机自启动话不多说,直接看 首先1:cmd—>regedit 其次找到下面的路径就可以:(以win10为例)计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\LenovoDisabled(这个是本机电脑的,各电脑不尽相同) 请看流程: 具体文件设置如下: 到这里差不多就结束了,重启下可以试试,彩蛋:相信大家也

双系统修改启动项顺序&&&修改开机启动等待时间

1. 双系统修改启动项顺序 更改/etc/grub.d目录 下的文件名是可行的 默认情况下Windows 7对应的文件名是30_os-prober,第一个linux系统对应的是10-linux,00是header,05是debian-theme,可见10是第一个启动项,只需要更改Windows 7的文件名(06-09均可)即可改变启动顺序,经我测试,成功地修改了启动顺序. 具体做法: sudo mv /etc/grub.d/30_os-prober /etc/grub.d/08_os-probe