shell编程,跨服务器备份文件

Posted Alighieri

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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[email protected]192.168.11.66
read_dir $path $ip

 

以上是关于shell编程,跨服务器备份文件的主要内容,如果未能解决你的问题,请参考以下文章

oracle定时备份,用expdp的跨服务器备份

linux shell 测试题目,在线等

web服务文件更新自动同步数据库主从复制shell脚本实现网站代码备份和mysql备份

Shell编程备份数据库

通过shell备份oracle用户数据,并将巡检结果发送至windows跳板机

Xcode 4.6 的备份代码片段