溫馨提示×

如何通過nohup在CentOS中實現命令自動重試

小樊
32
2025-07-20 22:54:40
欄目: 智能運維

在 CentOS 中,您可以使用 nohup 命令結合 shell 腳本來實現命令自動重試

  1. 創建一個名為 retry_command.sh 的 shell 腳本文件:
#!/bin/bash

# 設置重試次數
max_retries=5

# 設置要執行的命令
command_to_run="your_command_here"

# 初始化計數器
counter=0

# 循環執行命令直到成功或達到最大重試次數
while [ $counter -lt $max_retries ]; do
  # 使用 nohup 執行命令并將輸出重定向到日志文件
  nohup $command_to_run > output.log 2>&1 &

  # 獲取后臺進程的進程 ID
  pid=$!

  # 等待進程結束
  wait $pid

  # 檢查進程退出狀態
  if [ $? -eq 0 ]; then
    echo "命令執行成功"
    break
  else
    echo "命令執行失敗,重試次數:$((counter+1))/$max_retries"
    counter=$((counter+1))
  fi

  # 如果未達到最大重試次數,則等待一段時間后再次嘗試
  if [ $counter -lt $max_retries ]; then
    sleep 5
  fi
done

if [ $counter -eq $max_retries ]; then
  echo "已達到最大重試次數,命令執行失敗"
fi
  1. your_command_here 替換為您要執行的實際命令。

  2. 保存腳本文件并為其添加可執行權限:

chmod +x retry_command.sh
  1. 運行腳本:
./retry_command.sh

此腳本將嘗試執行指定的命令,并在失敗時自動重試,直到成功或達到最大重試次數。每次重試之間將等待 5 秒。您可以根據需要調整重試次數和等待時間。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女