linux/unix系统间文件备份脚本
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这是我之前写的一个shell脚本,用于linux/unix系统间的文件自动备份。脚本的主要功能有:用于不同服务器间当天的文件的同步或拷贝;需要expect命令支持,RHEL和AIX测试正常,需要exp
千家信息网最后更新 2026年11月03日linux/unix系统间文件备份脚本
这是我之前写的一个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"
文件
设备
文件夹
目标
系统
不同
路径
命令
同步
拷贝
脚本
相同
主机
信息
多台
示例
支持
测试
名称
实时
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中智农互联网科技
互联网通讯科技
科技互联网政务服务
盈实互联网科技
关于新基建和互联网科技
亿策互联网科技
互联网科技英文翻译
佰商互联网科技有限公司
无锡溥仪互联网科技有限公司
剑昆互联网络科技有限公司临桂
互联网校园科技培训
注册互联网科技公司经营范围大全
深圳市罗太互联网科技有限公司
互联网金融科技名词解释
怎样加入科技互联网
互联网安防科技感
互联网科技融合创新
九思连强互联网电子科技有限公司
数字科技和互联网金融哪个好
网互联网络科技
中智农互联网科技
互联网最新的科技
互联网金融监管科技
搜狐科技互联网
华夏恒生互联网科技013171
互联网科技大赛获奖感言
长沙互联网科技
南通创西澳互联网科技有限公司
上海万顺科技互联网有限公司招聘
重庆科技产业互联网有哪些