linux/unix系统间文件备份脚本
发表于:2024-10-24 作者:千家信息网编辑
千家信息网最后更新 2024年10月24日,这是我之前写的一个shell脚本,用于linux/unix系统间的文件自动备份。脚本的主要功能有:用于不同服务器间当天的文件的同步或拷贝;需要expect命令支持,RHEL和AIX测试正常,需要exp
千家信息网最后更新 2024年10月24日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安全错误
数据库的锁怎样保障安全
慧田网络技术深圳有限公司
永恒之塔单机服务器不在认证地区
网络技术对著作权制度影响
测试开发转软件开发
购买软件开发怎么入账
北邮通信工程网络安全选
安全系统检测到一个对服务器
鲜沣互联网科技公司 杭州
浙江数据软件开发服务应用
网络安全等级三级软件实现
学习网络技术学多长时间
养生视频软件开发
测试数据库使用场景
网络信息检索报告网络安全
网络安全工作室官方网站
帆软自定义函数读写数据库
微信软件开发企业
网络技术接单平台2021
跨境云服务器
ts450服务器
网络安全设备租赁合同
100台服务器虚拟化
济南宝智网络技术有限公司
学校 网络安全重要性
软件开发 行业周期性
数据库安全开题报告范文
网络安全海报设计创意
电子助力转向机软件开发
ktv包间预定系统数据库实训
p2p网络技术具有什么样的特点