当前位置: 首页 > news >正文

LINUX服务自启动

1.SysV启动系统的Ubuntu和Debian发行版,包括Ubuntu 14.04及更早版本。

sudo ln -s /data/review_site/bin/gerrit.sh /etc/init.d/gerrit.sh
ll /etc/init.d/
cd /etc/init.d/
sudo update-rc.d gerrit.sh defaults
ls /etc/rc*.d | grep gerrit.sh

2.使用systemd启动系统的操作系统
要在Ubuntu服务器上实现Gerrit服务的开机自启动,您可以按照以下步骤进行操作:
1.打开终端并登录到您的Ubuntu服务器。
2.使用以下命令编辑Gerrit服务的启动脚本:

sudo vim /etc/systemd/system/gerrit.service
  1. 在编辑器中,添加以下内容:
[Unit]
Description=Gerrit Code Review
After=network.target
[Service]
ExecStart=/home/git/review_site/bin/gerrit.sh start
ExecStop=/home/git/review_site/bin/gerrit.sh stop
User=git
Group=git
Restart=always
[Install]
WantedBy=multi-user.target      

请确保将 /path/to/gerrit 替换为您实际安装Gerrit的路径。
解释

在 Unit 部分,我们定义了Gerrit服务的描述和启动顺序。 Description 是对服务的简短描述, After
指定了Gerrit服务在网络服务启动后才会启动。 在 Service
部分,我们定义了Gerrit服务的启动和停止命令,以及服务运行的用户和组。 ExecStart 指定了启动Gerrit服务的命令,
ExecStop 指定了停止Gerrit服务的命令。 User 和 Group 指定了服务运行的用户和组。 Restart=always
表示如果服务意外停止,systemd会自动重启该服务。 在 Install 部分,我们定义了服务的安装配置。 WantedBy
指定了服务应该在哪个系统目标(target)下启动,这里是 multi-user.target ,表示在多用户模式下启动。

注:

在Ubuntu和CentOS中,您可以使用以下命令查看当前用户所在的组: Ubuntu:

bash groups

CentOS:

bash id -Gn

执行这些命令后,终端会显示当前用户所属的组。
关于 gerrit.service 文件需要设置什么权限,您需要确保该文件的权限为644。您可以使用以下命令更改权限:

sudo chmod 644 /etc/systemd/system/gerrit.service

这将确保只有root用户具有读权限,其他用户具有只读权限。这是为了保护服务配置文件的安全性。
4. 保存并关闭文件。
5. 使用以下命令重新加载systemd配置:

sudo systemctl daemon-reload
  1. 启用Gerrit服务以在系统启动时自动启动:
sudo systemctl enable gerrit

6.1使用以下命令检查Gerrit服务是否已启用开机自启动:
sudo systemctl is-enabled gerrit
如果命令输出为 enabled ,则表示Gerrit服务已经配置为开机自启动。
6.2使用以下命令检查Gerrit服务的当前状态:

   sudo systemctl status gerrit

如果服务处于运行状态,且没有任何错误或警告提示,那么您的Gerrit开机自启动配置应该是正确的。
7. 最后,启动Gerrit服务:

sudo systemctl start gerrit

现在,当您的Ubuntu服务器重新启动时,Gerrit服务将自动启动。

3.使用crontab来配置Gerrit开机自启动(简单有效)

在Ubuntu和CentOS中,您可以使用crontab来配置Gerrit开机自启动。以下是在crontab中配置Gerrit开机自启动的步骤:

  1. 打开终端并登录到您的系统。
  2. 运行以下命令来编辑当前用户的crontab文件:
   crontab -e
  1. 在编辑器中,添加以下行来配置Gerrit开机自启动:
@reboot /path/to/gerrit/bin/gerrit.sh start

请确保将
/path/to/gerrit 替换为您实际安装Gerrit的路径。
4. 保存并关闭文件。 这样,当系统启动时,crontab会执行指定的命令来启动Gerrit服务。

相关文章:

  • Java常见规范及易忘点
  • iOS--oc对象,类,和元类本质
  • 爬虫-电影影评爬取
  • 英语翻译人工翻译优势
  • Ubuntu server 24 (Linux) Zabbix 7.0 LTS 配置mail邮件报警
  • 线程池前置知识
  • Qt第一次作业
  • uniapp怎么实现条形码
  • boot整合solr
  • Python API自动化:提升开发效率的利器
  • 提升营业厅服务质量:DuDuTalk柜台录音设备,台席质检的新选择
  • PostgreSQL:在CASE WHEN语句中使用SELECT语句
  • vs2019 c++20规范 STL 库中头文件 <atomic> 源码注释及探讨几个知识点
  • C#面:abstract 的 method 是否可同时是 static,是否可同时是 native,是否可同时是 synchronized?
  • 树莓派4B_OpenCv学习笔记6:OpenCv识别已知颜色_运用掩膜
  • ES2017异步函数现已正式可用
  • JavaScript-Array类型
  • Vue组件定义
  • Web Storage相关
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • Yeoman_Bower_Grunt
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 当SetTimeout遇到了字符串
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 为视图添加丝滑的水波纹
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 正则表达式
  • 06-01 点餐小程序前台界面搭建
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​iOS实时查看App运行日志
  • # Java NIO(一)FileChannel
  • (2)nginx 安装、启停
  • (2024,Flag-DiT,文本引导的多模态生成,SR,统一的标记化,RoPE、RMSNorm 和流匹配)Lumina-T2X
  • (k8s中)docker netty OOM问题记录
  • (编译到47%失败)to be deleted
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • .net Signalr 使用笔记
  • .NET 解决重复提交问题
  • .NET成年了,然后呢?
  • .NET中的十进制浮点类型,徐汇区网站设计
  • [14]内置对象
  • [BZOJ 2142]礼物(扩展Lucas定理)
  • [C#]winform部署yolov9的onnx模型
  • [docker] Docker容器服务更新与发现之consul
  • [LeetCode] 148. Sort List 链表排序
  • [one_demo_13]ArrayList去除重复的元素
  • [python]用python获取EXCEL文件内容并保存到DBC
  • [Ray Tracing in One Weekend] 笔记
  • [RK3568 Android11] Binder通信整体框架
  • [ssh]如何设计ARM板上多用户key登录系统
  • [SystemVerilog]常见设计模式/实践
  • [充电]多线程无锁编程--原子计数操作:__sync_fetch_and_add等12个操作