有时候,我们安装的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

转载于:https://blog.51cto.com/11555417/2151938

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

  1. 基于windows10下使用bat脚本设置自定义开机启动项

    基于windows10下使用bat脚本设置自定义开机启动项 一.新建一个txt文件,然后写入内容,再重新命名修改文件成.bat脚本.博主举例新建一个rothschildlhl.txt空文本,然后复制下 ...

  2. Linux(CentOS 7.x) 下如何设置 nginx 开机启动?

    CentOS 7 以上是用 Systemd 进行系统初始化的,Systemd 是 Linux 系统中最新的初始化系统,Systemd 服务文件以 .service 结尾. 使用命令 yum 安装 ng ...

  3. 【Linux开发】Linux启动脚本设置

    前言 linux有自己一套完整的启动 体系,抓住了linux启动 的脉络,linux的启动 过程将不再神秘. 阅读之前建议先看一下附图. 本文中假设inittab中设置的init tree为: /et ...

  4. linux httpd 开机启动,Linux设置Apache开机启动

    在Linux下,如果是yum安装Apache,则会默认把服务添加进系统服务中,只需要使用chkconfig来设置开机启动就可以实现Apache开机启动.但如果编译安装Apache,则需要先把Apach ...

  5. php编写开机启动脚本,设置 msyql php-fpm 开机自动启动脚本

    II  设置MySQL开机启动 1.将mysql安装目录下 support-files目录下的mysql.server文件拷贝到/etc/init.d/目录下并改名为mysqld,并更改权限chmod ...

  6. 【linux】使用systemctl start xxx启动自己的程序|开机启动|守护进程

    目录 即看即用 详细说明 systemctl 的用途 用法 例子:以管理我们的程序verdaccio为例 开机启动 设置程序开机启动.关闭.启用/禁用服务以vsftpd为例 三个部分[Unit].[S ...

  7. redis 安装并设置为开机启动服务

    安装 1.下载redis,wget http://download.redis.io/releases/redis-3.0.1.tar.gz 解压:tar zxvf redis3.0.1.tar.gz ...

  8. 1 Centos7安装(jdk8)Tomcat9并设置为开机启动

    一.安装过程 cd /usr/local/src wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-9/v9.0.12/bin/apache-t ...

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

    从网上下载apache的源码包,例如/usr/local/src/httpd-2.2.34.tar.gz,解压到目录/usr/local/src/httpd-2.2.34,编译并安装,假如安装到/us ...

最新文章

  1. Active Directory之Sysvol的修复、移动及重建
  2. 几个C++问题提示的莫名其妙,附录解决方法
  3. 播放视频比较好的框架
  4. [蓝桥杯][算法提高VIP]A Careful Approach(全排列+二分)
  5. Android组件化方案及组件消息总线modular-event实战
  6. php获取每月的星期天,php计算一月中有多少个周末
  7. c语言乘法除法结合律,有关C语言运算符优先级和结合律的思考
  8. Python调用图灵机器人API
  9. easyui treegrid php,JQuery EasyUI TreeGrid控件的使用
  10. 一个入行很长的老鸟给新手的一些建议——转
  11. 金蝶K3采购暂估案例教程3差额调整
  12. c语言程序设计精品课课件,C语言程序设计 精品课课件(全套讲义).ppt
  13. 宏记录器 Macro Recorder 2.0 注册版
  14. 瑞昱RTL8201G(I)-VB-CG 规格应用--电口传输距离(500M)之王
  15. 吾心,吾思,吾语,吾记
  16. SQL中单引号和双引号
  17. 英语六级语法:强调句,倒装句和虚拟语气
  18. 最强文献下载神器——SCI-HUB客户端v7.0
  19. 基于51单片机的电子钟设计[本科自动化毕业设计论文,源码,实物]
  20. android11.0 Launcher3 高端定制之 BubbleTextView 应用名称双行显示

热门文章

  1. linux下安装配置apache+php,linux下安装apache与php;Apache+PHP+MySQL配置攻略
  2. java游戏可以刷升级挖药材,【毕业设计】Java手机游戏设计
  3. data后缀文件解码_Java语法进阶13-文件、IO流
  4. thinkphp仿素材火教程_国外都用古风效果图获奖了,为什么你连素材都没有?
  5. 征途2无法显示服务器列表,解决win10系统玩征途2提示“DriverCommlnit驱动加载失败”的方法...
  6. python基础面试都问什么问题_基本 Python 面试问题
  7. python判断能否组成三角形_python三角形判定怎么做
  8. 解决IDEA中maven工程的jsp、jstl依赖导入了 ,但是 jsp页面的uri却不提示(手动输上也报红)
  9. oracle中的存储过程教程,oracle 存储过程
  10. html5判断多选框是否选择的函数,复选框(checkbox)、多选框