shell编程跨服务器备份文件
本文实例为大家分享了shell跨服务器备份文件的具体代码,供大家参考,具体内容如下
需求:查询某个文件夹下的所有文件,将文件修改时间小于当前时间,并大于当前时间前一天的文件备份到另一台服务器对应的文件夹下
思路:
1、递归查询文件夹下的文件
2、如果文件夹中含有空格,则将文件按列显示,并将IFS设为 \x0A
代码如下:
#! /bin/bash function read_dir(){ IFS=$'\x0A' executeDate=`date -d ' -1 day ' +%F" "%T` executeDate1=`date -d "${executeDate}" +%s` for file in `ls $1 | paste` do modifyDate=`stat $1"/"$file -c %y` currentDate=`date +%F" "%T` currentDate1=`date -d "${currentDate}" +%s` modifyDate1=`date -d "${modifyDate}" +%s` if [ -d $1"/"$file ] then read_dir $1"/"$file elif [ $modifyDate1 -lt $currentDate1 ] && [ $modifyDate1 -gt $executeDate1 ]; then scp -r "$1""/" "$ip:"$path fi done } path=/root/hu ip=root@192.168.11.66 read_dir $path $ip
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
CentOS中使用Shell脚本实现每天自动备份网站文件和数据库并上传到FTP中
一.安装Email发送程序 复制代码 代码如下: yum install sendmail mutt 二.安装FTP客户端程序 本脚本需要用到FTP客户端程序将文件上传到FTP空间上面,因此必须安装FTP客户端,否则将出现ftp命令无法找到的错误. 安装步骤请参考:<CentOS提示ftp:command not found> 三.在/root目录下新建脚本文件:AutoBackupToFtp.sh,内容如下: 复制代码 代码如下: #!/bin/bash #你要修改的地方从这里开始 MYSQ
-
shell备份文件、重命名文件、删除指定文件的3个脚本分享
因为经常会用到shell脚本,所以经常会写一些,但是我从来没有系统的学习过shell脚本,遇到问题,就去看手册,或者google一下,到了一定的程度才发现自己的基础真的好差.下面在系统学习shell时,顺便写了点有用的小脚本. 1,备份目录下面文件 复制代码 代码如下: #!/bin/bash E_BADARGS=65 case $# in //$#表示转入参数的个数,sh bak.sh ./ .sh 有二个参数./和.sh 0) // 参数为空时,提示
-
Shell脚本自动删除指定大小以上的备份文件
最近本地虚拟机的空间老是被备份给占满,为了偷懒不想自己天天登录上去清除,才写了这个自动清理脚本. 系统:centos 5.x 脚本内容: cat make_room.sh 复制代码 代码如下: #!/bin/bash #size=`df -hP|grep /dev/mapper/VolGroup00-LogVol00|awk '{print $4}'|cut -f 1 -d "G"` size=`df -mP|grep /dev/mapper/VolGroup00-LogVol00|a
-
自动化下载并检测ftp文件备份的shell脚本
实现代码: #!/bin/bash #ftime0=$(ll /root/hbshell/down.txt | awk '{print $7}') #ftime1=$(ll /root/hbshell/down.txt | awk '{print $7}') touch /root/hbshell/down.txt while : do if [[ /root/hbshell/down.txt -nt /root/hbshell/down_cp.txt ]] then user=root pas
-
3个备份系统文件并邮件发送的Shell脚本分享
1.安装MUTT邮件客户端 # yum install mutt -y 2.创建脚本 # vi /etc/rc.d/mail_to_bak_daily.sh 版本一: #!/bin/bash # ========================================================= # 请输入,你想让备份数据放置到哪个独立的目录区 basedir=/backup/daily # =============================================
-
shell编程跨服务器备份文件
本文实例为大家分享了shell跨服务器备份文件的具体代码,供大家参考,具体内容如下 需求:查询某个文件夹下的所有文件,将文件修改时间小于当前时间,并大于当前时间前一天的文件备份到另一台服务器对应的文件夹下 思路: 1.递归查询文件夹下的文件 2.如果文件夹中含有空格,则将文件按列显示,并将IFS设为 \x0A 代码如下: #! /bin/bash function read_dir(){ IFS=$'\x0A' executeDate=`date -d ' -1 day ' +%F" "
-
Docker跨服务器通信Overlay解决方案(上)之 Consul单实例
目录 场景 任务 想法 分析 概念与选型 小试身手 环境说明 注意事项 动手做 测试 引文 场景 公司微服务快上线了,微服务都是用Docker容器进行部署的,在同一台主机下,把服务都部署上,注册到Nacos的IP与PORT都是内网的IP与Dockerfile中定义的端口号,看起来好像也没什么问题,通过网关去调用也是可以调通的,请注意这有一个大前提: 必须把所有服务容器部署在同一台主机上时才可以! 当服务实例没有部署在同一主机上,比如网关服务在A服务器,服务a在B服务器上,同样注册到Nacos (
-
Linux下Shell编程快捷键大全(日常整理)
有时候,我们需要在 Bash 中重复执行先前的命令.你当然可以使用上方向键来查看之前曾经运行过的命令.但这里有一些更好的方式,例如,数量掌握以下的快捷键. 1) !!:重复执行上一条指令 2) !a:重复执行上一条以a为首的指令 3) !number:重复执行上一条在history表中记录号码为number的指令 4) !-number:重复执行前第number条指令 5) !$:表示获得上一条命令中的最后一项内容 6) 用Ctrl + r 组合键来进入历史搜索模式在history表中查询某条过
-
shell编程基础知识小结
1.文件类型介绍linux系统中主要包括以下七种文件类型: d 目录 - 普通文件 l 符号链接 s 套接字文件 b 块设备文件 c 字符设备文件 p 命名管道文件 2.正则表达式正则表达式在shell编程中非常重要. 从一个文件或命令输出中抽取或过滤文本时.可使用正则表达式(RE),正则表达式是一些特殊或不很特殊的字符串模式的集合. 基本的元字符集:^ 只匹配行首.$ 只匹配行尾.* 一个单字符后紧跟*,匹配0个或多个此单字符.[] 匹配[]内字符,可以是一个单字符,也可以是字符序列.可以使用
-
Shell编程的一些知识集合
下午在写程序的时候需要将shell命令返回的数值赋予给某变量,使用了a=$()的方法 soft=$(grep -i "\(Software \)Token/Passcode/." 123.txt |wc -l) echo "[+] 软卡总数:" $soft ...... #!shell下的运算 over=$((var-use)) echo "[+] 剩余硬卡:" $over Shell的嵌入命令 : 空,永远返回为true . 从当前shell中
-
Android编程向服务器发送请求时出现中文乱码问题的解决方法
本文实例讲述了Android编程向服务器发送请求时出现中文乱码问题的解决方法.分享给大家供大家参考,具体如下: 我们在andorid项目中通过get方式向服务器发送请求,其中url参数带有中文,将会产生乱码,乱码产生的原因有两种: 1. 在提交参数时,没有对中文参数进行URL编码 2. Tomcat服务器默认采用的是IOS8859-1编码(不支持中文)得到参数值 解决: 1. 进入android项目,在其中要提交参数的时候,对参数的值进行编码: 复制代码 代码如下: URLEncoder.enc
-
php跨服务器访问方法小结
本文实例总结了php跨服务器访问方法.分享给大家供大家参考.具体分析如下: 近来项目中遇到跨服务器访问的问题,研究了好些日子,总结如下: 1.用file_get_contents方法 $host = 'url'; $randomNumber=file_get_contents($host); echo $$randomNumber; 2.用Curl $host = 'url'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $host); //
-
Shell编程中while与for的区别及用法详解
在shell编程中经常用到循环,常用的循环有for和while循环两种.while循环默认以行读取文件,而for循环以空格读取文件切分文件,本篇就结合现网的一些使用示例说说二者的用法和区别. 一.常用语法 1.for循环 for循环常用的语法结构有如下几种: for 变量 in seq字符串 for 变量 in `command` " " for 变量 in "$@"或"$*" for((赋值:条件:运算语句)) 2.while循环 while循
-
深入浅出Shell编程 Shell变量介绍
•深入浅出Shell编程: Shell 变量 ◦1 系统变量 ◦2 Shell用户变量 ■2.1 基础 ■2.2 使用技巧 ■2.3 shell 中的数组 ◦3 shell 环境变量 先不要管Shell的版本,来看看Shell 变量,在Shell中有三种变量:系统变量,环境变量,用户变量.其中用户变量在编程过程中使用最多,系统变量在对参数判断和命令返回值判断会使用,环境变量主要是在程序运行的时候需要设置. 1 系统变量 Shell常用的系统变量并不多,但却十分有用,特别是在做一些参数检测的时候.
-
MSSQLSERVER跨服务器连接(远程登录)的示例代码
MSSQLSERVER跨服务器链接服务器创建方法如下 复制代码 代码如下: --声明变量 Declare @svrname varchar(255), @dbname varchar(255), @sapassword varchar(255) --请在执行前,根据实际情况修改下列变量 select @svrname = '目标服务器名', @dbname = '目标数据库', @sapassword = 目标数据库密码 if exists ( select
随机推荐
- Windows Server 2012 R2 Standard搭建ASP.NET Core环境图文教程
- C#更新SQLServer中TimeStamp字段(时间戳)的方法
- jquery下jstree简单应用 - v1.0
- Pycharm学习教程(3) 代码运行调试
- 效率较高的php下读取文本文件的代码 原创
- linux下实现定时执行php脚本
- 基于C#编写经理评分系统
- JavaScript操作Cookie详解
- 新装linux系统/etc/sysconfig目录下无iptables文件的解决方法
- JavaScript实现自动生成网页元素功能(按钮、文本等)
- 详解jQuery同步Ajax带来的UI线程阻塞问题及解决办法
- Python中的字典遍历备忘
- 详解百度百科目录导航树小插件
- jquery拖动改变div大小
- 浅析JavaScript中的变量复制、参数传递和作用域链
- 看UNIX高手的10个习惯第1/2页
- php使用反射插入对象示例分享
- PHP实现顺时针打印矩阵(螺旋矩阵)的方法示例
- 基于vue.js 2.x的虚拟滚动条的示例代码
- Spring Boot使用模板引擎JSP实例解析