近期客户那边遇到一个问题,iscsi导致无法重启和关闭服务器,经过查询资料,这是一个官方bug,只能在关机或重启前关闭所有的iscsi session。但不可能每次要关闭服务器的时候都手动关闭iscsi,故需要实现ubuntu关机时能先登出iscsi设备。
查了网上很多资料,在/etc/init.d里面采用软连接的方法无法实现关机前自启,时间问题具体原因没有追查(愿看到本文章的大神可以给小弟解惑)
我的思路是在/lib/systemd/system-shutdown/下面创建一个脚本shutdownbefore.sh,登出所有的iscsi设备,ubuntu系统关机或者重启的时候,执行这个脚本。脚本内容为:

#!/bin/bash
### BEGIN INIT INFO
# Provides: shutdownbefore
# Required-Start:
# Required-Stop:
# Default-Start:    2 3 4 5
# Default-Stop:     0 1 6
# Short-Description:
# Description:
### END INIT INFO
case "${1:-''}" in'start')#开机需要执行的逻辑;;'stop')#关机需要执行的逻辑#登出iscsi命令写在这里,本文不展示;;*);;
esac

然后在在/lib/systemd/system/目录下添加shutdownbefore.service这样一个systemd的配置文件:

vi /lib/systemd/system/shutdownbefore.service

在文件中加入

[Unit]
Description=Run command at shutdown
# 假设要执行的命令依赖网络
Requires=network.target
DefaultDependencies=no
Conflicts=reboot.target
Before=shutdown.target[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/true
ExecStop=/bin/bash /lib/systemd/system-shutdown/shutdownbefore.sh stop[Install]
WantedBy=multi-user.target

保存文件
然后重新加载systemd配置

sudo systemctl daemon-reload

链接service以使其开启启动

sudo systemctl enable shutdownbefore.service

最后完成啦!!!!!!

实现ubuntu关机时启动某个脚本相关推荐

  1. linux关机前执行脚本,Linux关机时执行指定脚本

    要实现在Linux关机时执行某个脚本的具体思路 1.在文件夹 /etc/init.d/ 下创建关机时需要执行的脚本 file_name; 2.分别在文件夹 /etc/rc0.d/ 和 /etc/rc6 ...

  2. linux关机时循环输出脚本,Linux关机时执行指定脚本功能实现

    1.关机时执行某个脚本的具体思路 (1)在文件夹/etc/init.d/下创建关机时需要执行的脚本file_name: (2)分别在文件夹/etc/rc0.d/和/etc/rc6.d/下创建该该脚本文 ...

  3. Linux关机运行的脚本,Linux关机时执行指定脚本功能实现

    1.关机时执行某个脚本的具体思路 (1)在文件夹/etc/init.d/下创建关机时需要执行的脚本file_name: (2)分别在文件夹/etc/rc0.d/和/etc/rc6.d/下创建该该脚本文 ...

  4. Linux关机时执行指定脚本

    1.关机时执行某个脚本的具体思路 (1)在文件夹/etc/init.d/下创建关机时需要执行的脚本file_name: (2)分别在文件夹/etc/rc0.d/和/etc/rc6.d/下创建该该脚本文 ...

  5. Linux关机时执行指定脚本功能实现

    1.关机时执行某个脚本的具体思路 (1)在文件夹/etc/init.d/下创建关机时需要执行的脚本file_name: (2)分别在文件夹/etc/rc0.d/和/etc/rc6.d/下创建该该脚本文 ...

  6. Ubuntu 设置开机启动命令/脚本

    Ubuntu 设置rc.local开机启动命令/脚本一般有两种方法: 方法一:rc.local脚本 rc.local脚本是一个Ubuntu开机后会自动执行的脚本,我们可以在该脚本内添加命令行指令.该脚 ...

  7. U盘启动装Ubuntu系统时启动不了,出现黑屏问题

    1.问题描述:Ubuntu使用U盘安装时,U盘启动出现安装界面,点install ubuntu,然后显示器显示没有信息,进行休眠状态. 2.原因分析:由于ubuntu对于显卡支持有问题,需要手动添加显 ...

  8. Ubuntu18.04+Win10双系统下ubuntu关机时电源和风扇无法关闭解决方案

    系统:Ubuntu18.04+Win10双系统下的ubuntu 问题:使用命令行+图像化关机,电源和风扇无法关闭,指示灯仍在工作,只能长按电源键强制关闭 解决方案 编辑grub文件 sudo vim ...

  9. linux强制关机启动后是白屏,解决安装Ubuntu后,启动出现屏幕空白(全黑,无内容)...

    洒家闲来无事,想起原来曾经遇到过在笔记本上直接安装ubuntu出现过启动屏幕空白,无法继续安装的问题,因此这次打算来进行解决. 首先查了一下网上的资料,找到两帖. 第一帖:http://epheien ...

最新文章

  1. 苗旺:因果推断,观察性研究和 2021 年诺贝尔经济学奖
  2. php gtk中文介绍,PHP-GTK介绍及其应用_PHP教程
  3. innodb下的mvcc_从InnoDB了解MVCC
  4. 《scikit-learn》数据标准化与SVM之SVC
  5. git日常使用的常用命令总结
  6. spring和jdbctemplate
  7. javascript -- 变量
  8. 【背包问题】基于matlab粒子群算法求解背包问题【含Matlab源码 1343期】
  9. 用R语言下载任意地区DEM数据
  10. 拼多多商家刚开店,哪些行为不能做?
  11. 数据库的研究内容主要有哪些方面?
  12. matlab版大学物理学,MATLAB可视化大学物理学(第2版)
  13. ubuntu QT 编译报错cannot find -lGL 的解决方法
  14. mysql return more than 1 row_关于mysql错误:Subquery returns more than 1 row
  15. 因果模型五:用因果的思想优化风控模型——因果正则化评分卡模型
  16. Benelux Algorithm Programming Contest 2019 G. Gluttonous Goop 思维规律题
  17. ubuntu配置双拼输入法
  18. Windows 无法验证此文件的数字签名。
  19. Unity VR中实现播放3D电影
  20. 汇川AM401系列程序 汇川AM403程序,搭配汇川总线伺服,汇川IT7070系列触摸屏

热门文章

  1. Python 文件读取的4种方式
  2. CSDN的markdown语法
  3. 「Linux」FTP Error 550 - Server denied you to change to the given directory
  4. Eigen之矩阵与向量的乘积
  5. 自动化测试框架有什么作用?
  6. 移动端百度地图多点标注php,百度地图API多重打点标注
  7. day1--遗忘的重要性-from nature 2019
  8. java计算机毕业设计网上拍卖系统MyBatis+系统+LW文档+源码+调试部署
  9. python3创建mysql表格_Python MySQL创建表格
  10. Arduino-ESP32-CAM学习笔记3---2102串口驱动安装