In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-16 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >
Share
Shulou(Shulou.com)06/03 Report--
这是我之前写的一个shell脚本,用于linux/unix系统间的文件自动备份。
脚本的主要功能有:
用于不同服务器间当天的文件的同步或拷贝;需要expect命令支持,RHEL和AIX测试正常,需要expect命令支持(unix系统需要修改脚本第一行的#!/bin/bash为系统SHELL);
使用要求:
系统expect命令可用;目标(远程)设备文件夹存在且可有相应权限。
适用情况(以下场景测试正常):
一台设备同一文件夹向一台或多台远程设备相同或不同文件夹拷贝文件
一台设备不同文件夹向一台或多台远程设备相同或不同文件夹拷贝文件
AIX系统间文件非实时同步
AIX和RHEL系统间文件非实时同步
RHEL系统间文件非实时同步
使用前请先进行测试。
aix_trans.sh脚本代码如下:
#!/bin/bash#Author:ZJ#QQ:1037509307#DateTime: 2016-07-09 01:41:14#Description:#用于不同服务器间当天的文件的同步或拷贝;需要expect命令支持,RHEL和AIX测试正常,需要expect命令支持。#aix系统需要修改头文件;#使用要求:系统expect命令可用;目标(远程)设备文件夹存在且可访问。#适用情况:#一台设备同一文件夹向一台或多台远程设备相同或不同文件夹拷贝文件#一台设备不同文件夹向一台或多台远程设备相同或不同文件夹拷贝文件#Version: v1.3########################################源设备信息###########################################源设备文件路径1 (路径最后不要加斜线/)Source_Path_1=/usr/appsoft/EasyCfg/system_check/warnlog#源设备文件压缩包名称1File_Name_1=file1.zip#若需要同步该设备的其他文件夹,请按照上述格式继续添加变量即可,示例#源设备文件路径2#Source_Path_2=xxxx#源设备文件压缩包名称2#File_Name_2=file2.zip###################################第一台目标设备信息########################################目标设备IP地址Target_IP_A=192.168.101.206#目标设备密码Target_Passwd_A=iES@1234#目标设备文件存放路径(请确保该文件夹存在且可被访问)Target_Path_A1=/usr/appsoft/jieya#若需要将文件同步到该设备的不同文件夹下,请继续添加文件存放路径即可变量即可,示例#Target_Path_A2=/usr/appsoft/jieya1#Target_Path_A3=/usr/appsoft/jieya2#若需要添加其他目标设备,请按照"第一台目标设备信息"进行添加,示例:###################################第二台目标设备信息########################################目标设备IP地址#Target_IP_B=192.168.101.206#目标设备密码#Target_Passwd_B=iES@1234#目标设备文件存放路径(请确保该文件夹存在且可被访问)#Target_Path_B1=/usr/appsoft/jieya############################################################################################Get_Syslog(){LANG=ENMonth=`date +%b`Day=`date +%e`Ip=$1PASSWD=$2Source_Path=$3Target_Path=$4File_Name=$5cd "${Source_Path}"ls -l | egrep "${Month}[[:space:]]+${Day}" | awk '{print $9}' | xargs zip -r ${File_Name}expect -c "set timeout -1spawn scp -r -p ${Source_Path}/${File_Name} root@${Ip}:${Target_Path}expect {\"*yes/no)?\" {send \"yes\r\";exp_continue}\"*password:\" {send \"${PASSWD}\r\";exp_continue}\"*unreachable\" {exit 1}\"*Permission denied*\" {exit 2}\"*No route to host*\" {exit 3}\"*failure*\" {exit 4}\"*No such file or directory*\" {exit 5}\"*No match*\" {exit 6}\"*failed*\" {exit 7}expect eof}spawn ssh root@${Ip} cd $Target_Path && unzip -o $File_Name -d $Target_Path && rm -rf $Target_Path/$File_Nameexpect {\"*yes/no)?\" {send \"yes\r\";exp_continue}\"*password:\" {send \"${PASSWD}\r\";exp_continue}\"*unreachable\" {exit 1}\"*Permission denied*\" {exit 2}\"*No route to host*\" {exit 3}\"*failure*\" {exit 4}\"*No such file or directory*\" {exit 5}\"*No match*\" {exit 6}\"*failed*\" {exit 7}expect eof}"} #Get_Syslog右括号#Tips:#Get_Syslog "目标主机IP" "目标主机密码" "源主机文件路径" "目标主机文件路径" "压缩包名称"#如果需要传送多个文件夹的文件,按照下面的命令格式依次添加即可Get_Syslog "${Target_IP_A}" "${Target_Passwd_A}" "${Source_Path_1}" "${Target_Path_A1}" "${File_Name_1}"#示例#Get_Syslog "$Target_IP_A" "$Target_Passwd_A" "$WEB_Path_From_2" "$Target_Path_A1" "$File_Name_2"
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.