1. 程式人生 > >把遠端linux伺服器上的指定目錄下的所有檔案,增量備份到本地伺服器上

把遠端linux伺服器上的指定目錄下的所有檔案,增量備份到本地伺服器上

把遠端伺服器上的指定目錄下的所有檔案,增量備份到本地伺服器上

#!/bin/sh

ip=遠端IP
dir=遠端需要備份的路徑
curTime=`date +%Y%m%d`
echo $curTime
BN=./backupfile/bkfile_number.txt  #用來儲存最後一次備份的日期

num=`awk 'NR==1{print $0}' $BN`
t2=`date -d "$num" +%Y%m%d`
days=`expr  $t2 - $curTime`

檢視遠端伺服器上的最近有變更的目錄及檔案
folderList=`ssh 遠端IP find 遠端需要備份的路徑  -type d -ctime $days`

fileList=`ssh 遠端IP find 遠端需要備份的路徑 -type f -ctime $days`

在本地建立新新增的目錄,並複製遠端伺服器上的檔案到本地

for folder in $folderList;do #迴圈判斷folder是否存在 不存在就建立
           if [ ! -d $folder ];then
                  mkdir -p $folder
           fi;
      done;
for file in $fileList;do #迴圈判斷檔案是否存在 不存在就從機器1上考過來
           if [ ! -f $file ];then

                  scp [email protected]$ip:$file $file
           fi;
     done;

echo $curTime > $BN

相關推薦

遠端linux伺服器指定目錄所有檔案增量備份本地伺服器

把遠端伺服器上的指定目錄下的所有檔案,增量備份到本地伺服器上#!/bin/ship=遠端IPdir=遠端需要備份的路徑curTime=`date +%Y%m%d`echo $curTimeBN=./backupfile/bkfile_number.txt  #用來儲存最後一次

android 獲取指定路徑所有檔案檔案從一個目錄copy到另一個目錄執行linux命令

/** * 複製整個資料夾內容 ,可以從data/data/包名下 拷貝到 data/data/包名下。也可以copy到 /sdcard 下 * @param oldPath String 原檔案路徑 如:c:/fqf

linux複製目錄所有檔案包括隱藏檔案指定目錄

linux下複製當前目錄下面檔案到目錄b的話: cp -rf * b 這樣子只能複製非隱藏檔案和目錄。 cp -rf .* b 因為.*包含了.和..,這樣子複製會出問題,當前目錄的上一層目錄都可能被複制過去。 這裡可以藉助ls -A命令,來過濾.和..目錄並且包

linux使用c語言刪除指定目錄所有檔案

http://blog.csdn.net/gitar520/article/details/7582727 我一直以為使用c提供的方法可以跨越平臺,但無疑我是錯的,上次寫的刪除檔案所使用的兩個api——_findfirst和_findnext無法在gcc下使用,但linux

使用wget下載指定目錄所有檔案-Windows

wget是一個從網路上自動下載檔案的自由工具,支援通過HTTP、HTTPS、FTP三個最常見的TCP/IP協議下載,並可以使用HTTP代理。wget名稱的由來是“World Wide Web”與“get”的結合。 Linux系統中的wget是一個下載檔案的工具

dos批處理:列出指定目錄所有檔案

@echo off echo 請輸入目錄名: set/p xxx= >nul echo 正在執行,請稍等... dir /s/b %xxx% > c:\檔名.txt echo 執行完成,獲

java程式 一次改變指定目錄所有檔案編碼(包括子目錄中的檔案

package transCoding; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInpu

使用sh指令碼如何替換指定目錄所有檔案中的指定字串

我想要使用sh指令碼替換一個目錄下面的所有檔案的內容如下:例如檔案中有一行內容“#!/export/home/wyf/tool/bin/ruby”我想要把“tool/bin/ruby”之前的內容替換成當

遞迴 --- 遍歷指定目錄所有檔案

A、如果該檔案目錄下全是檔案(非資料夾),那很理想,直接列印絕對路徑(file.getAbsolutePath())就完成任務 B、重點在於如果該檔案目錄下有的是檔案,有的是資料夾(子資料夾)

java 獲取指定目錄所有檔案的名稱

需要將檔名稱及路徑存到資料庫中 String path ="/db/java/Data3/"; StringBuffer str = new StringBuffer(""); File

PHP -- 遍歷出目錄所有檔案及演算法優化

在想解決這個問題的時候,我也查找了很多資料。推薦給大家我個人覺得比較好的一篇:PHP遍歷檔案目錄 文中第四個演算法可以遍歷出文件夾下的所有檔案,程式碼如下: $dir = 'E:\phpStudy\PHPTutorial\WWW'; echo '<pre>'; functio

excel巨集:列出一個目錄所有檔案並做也超連結

 從網上找了一些資訊,自己修改了一下 方式很直白,先把所有的目錄找了出來,然後一個個目錄來處理。 雖然與我習慣使用迭代的的方式有所差別,但也很好。 後面的函式是原始的,沒有改動,主函式自己重新寫過了。 檔案下載 '主函式 Sub ListFil

linux復制指定目錄的全部文件到另一個目錄

建議 必須 測試 成對 st3 其中 完成 所有 鏈接 linux復制指定目錄下的全部文件到另一個目錄中復制指定目錄下的全部文件到另一個目錄中文件及目錄的復制是經常要用到的。linux下進行復制的命令為cp。假設復制源目錄 為 dir1 ,目標目錄為dir2。怎樣才能將di

python——查詢linux指定目錄所有的空目錄

pac 方法 6.5 AC 查詢 argv sys.argv 目錄名 env 1 #!/usr/bin/env python3 2 # -*- coding: utf-8 -*- 3 #*******查詢指定目錄中的空目錄********* 4 #執行方法:pyt

linux find-在指定目錄查找文件

cp命令 七天 更多 help命令 現在 當前目錄 path 選項 http 推薦:更多Linux 文件查找和比較 命令關註:linux命令大全 find命令用來在指定目錄下查找文件。任何位於參數之前的字符串都將被視為欲查找的目錄名。如果使用該命令時,不設置任何參數,則

linux命令之----find用於指定目錄查詢檔案

1、find命令作用 find命令用來在指定目錄下查詢檔案。任何位於引數之前的字串都將被視為欲查詢的目錄名。如果使用該命令時,不設定任何引數,則find命令將在當前目錄下查詢子目錄與檔案。並且將查詢到的子目錄和檔案全部進行顯示。 2、find語法 find path

C++實現Linux和Windows遍歷指定目錄檔案

一、Linux下遍歷方法 方法非常簡單,這裡不多說了,可以直接看程式碼 #include <dirent.h>//遍歷系統指定目錄下檔案要包含的標頭檔案 #include <iost

掃描指定目錄所有圖片文件

沒有 extern wpa gets 當前 indexof path resolv cti String myparent=newPath.substring(0, newPath.lastIndexOf("/")).substring(newPath.substrin

指定目錄檔案打tar包不包括此目錄

package com.jttx.other.jtp; import org.apache.commons.compress.archivers.tar.TarArchiveEntry; import org.apache.commons.compress.archivers.tar.TarArch

Python3之儲存資料到指定目錄檔案

程式碼 import os def save(html, path): ''' 以檔案形式儲存資料 :param html: 要儲存的資料 :param path: 要儲存資料的路徑 :return: ''' # 判斷目錄是否存