首页 > 系统服务 > 详细

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

时间:2017-11-20 14:14:56      阅读:318      评论:0      收藏:0      [点我收藏+]

需求:查询某个文件夹下的所有文件,将文件修改时间小于当前时间,并大于当前时间前一天的文件备份到另一台服务器对应的文件夹下

思路:

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

 

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

原文:http://www.cnblogs.com/alighie/p/7865905.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!