サーバーの稼働時間が1日未満であることを確認する必要があります。その場合は、cpuinfo meminfoなどの情報が必要です。スクリプトは次のとおりです。
for SERVER in $( cat /home/mysql/scripts/USER_SCRIPTS/patching_serverlist.txt); do
ping -c 3 $SERVER > /dev/null 2>&1
if [ $? -ne 0 ]
then
echo "$SERVER is down" >> /home/mysql/scripts/USER_SCRIPTS/pre_patching_result.txt
else
ssh -q mysql@$SERVER
check_uptime
echo $days
if [ days < 1 ]
then
echo -n "Hostname: "
ssh -q mysql@$SERVER hostname >> /home/mysql/scripts/USER_SCRIPTS/pre_patching_result.txt
それがすることは私をサーバーに連れて行くことです。つまり、実際にサーバーにSSHを介して接続し、check_uptimeは日数を計算する関数です。
問題は、このスクリプトを実行するとコンソールからサーバーに入るため、exit
スクリプトが完了したらサーバーを終了するには、と入力する必要があります。ただ関数を実行して終了したいです。どのように入って機能を実行しませんか?
答え1
hostname
後でリモートシステムで実行されるスクリプトで実行するのと同じ非対話型ログインを使用してください。
days=$(ssh -q mysql@$SERVER /path/to/check_uptime)