linux/unix系统间文件备份脚本
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这是我之前写的一个shell脚本,用于linux/unix系统间的文件自动备份。脚本的主要功能有:用于不同服务器间当天的文件的同步或拷贝;需要expect命令支持,RHEL和AIX测试正常,需要exp
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
苹果公司的服务器操作系统
上湾热电厂网络安全
绵阳网络技术参数
广州天祥互联网科技有限公司
腐蚀进入服务器就闪退什么原因
软件开发工作量分布图
网页输入数据保存不到数据库
易语言mdb数据库找最大值
服务器如何制作数据库
网络安全咨询师招聘
家庭游戏服务器推荐
服务器 EMC测试
数据库技术的功能
100个网络安全习惯
系统网络安全工具
慈溪软件开发生产公司定制
教研室软件开发
介绍常用的网络安全的趋势
数据库输出功能设置
ABB趋势服务器
甘肃伟远达网络技术
我的世界服务器混乱棒刷物品
软件开发的验收标准
迅影手套服务器
文明网络安全活动
西安网络安全培训机构有哪些
500服务器出错
游戏软件开发属于动漫软件吗
浪潮集团服务器待遇
pwd命令使用网络安全教程