mr923 发表于 2018-8-27 09:55:49

Linux+Shell获取及拷贝最新数据到远程设备

#!/bin/bash  
LOCALBAKDIR=/OAFS/WEAVER_BACKUP
  
RMTRESTDIR=/OAFS
  
RMT_HOST=192.168.6.38
  
RMT_USER=root
  
RMT_CMD="$(which ssh) $RMT_USER@$RMT_HOST"
  
#function is_alive判断远程计算机是否通信正常
  
function is_alive() {
  
`which ping` -c 4 $RMT_HOST >/dev/null 2>&1
  
if [ "$?" -ne 0 ]; then
  
echo 2
  
else
  
echo 0
  
fi
  
}
  
function mktmpdir() {
  
$RMT_CMD mkdir -p /tmp/OAFS
  
}
  
function rmvtmpdir() {
  
$RMT_CMD rm -rf /tmp/OAFS/*
  
}
  
function get_last_targz() {
  
echo $(ls -lt $LOCALBAKDIR | awk {'print $9'} |grep -v ^$ |head -n 1)
  
}
  
function copy() {
  
yum install -y openssh-clients >/dev/null 2>&1
  
$RMT_CMD yum install -y openssh-clients >/dev/null 2>&1
  
scp -q $LOCALBAKDIR/$(get_last_targz) $RMT_USER@$RMT_HOST:/tmp/OAFS/
  
}
  
if [ "$(is_alive)" -eq 0 ]; then
  
mktmpdir
  
copy
  
rmvtmpdir
  
else
  
echo "$RMT_HOST can not be accessed via port 22, please check"
  
fi


页: [1]
查看完整版本: Linux+Shell获取及拷贝最新数据到远程设备