sh 这个要点负责升级系统服务(systemd)并由指定用户进入文件夹并执行git pull

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh 这个要点负责升级系统服务(systemd)并由指定用户进入文件夹并执行git pull相关的知识,希望对你有一定的参考价值。

#! /bin/bash
set -o nounset
set -o errexit

if [[ $# -lt 3 ]]; then 
  echo "No arguments supplied."
  echo " Example: upgradeFoldByBash: [Service name] [service account] [folder]"
  exit 1
fi

SUDO="sudo -u ${2}"

pushd "${3}" >/dev/null

echo "Fetching updates."
${SUDO} git fetch

# only if we have updates to apply...
if [[ -n "$(${SUDO} git rev-list @{u}...)" ]]; then
  echo "Stopping the ${1} Service"
  systemctl stop ${1}

  echo "Performing the update."
  ${SUDO} git merge

  echo "Restarting the ${1} Service"
  systemctl start ${1}
else
  echo "No update needed."
fi

popd >/dev/null

以上是关于sh 这个要点负责升级系统服务(systemd)并由指定用户进入文件夹并执行git pull的主要内容,如果未能解决你的问题,请参考以下文章

RH124-08 系统服务和守护进程管理

技术分享 | 将GreatSQL添加到系统systemd服务

systemd的日志管理进程journald

Systemd

systemd的统一日志记录系统journalctl,助力问题定位

初识 systemd