Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> LinuxシステムFAQ >> LinuxでリモートFTPサーバーにファイルを自動的にバックアップし、指定した日付より前にバックアップを削除する

LinuxでリモートFTPサーバーにファイルを自動的にバックアップし、指定した日付より前にバックアップを削除する

  

ここで、/backup /oracledata /tsディレクトリ以下のすべてのファイルを/backup /oracledata /tsbakにバックアップし、TianShan20140409.tarとして保存します。圧縮ファイル.gz(20140409はバックアップを実行した日の日付)、それから過去7日間のバックアップだけが保持され、その後、ftpサーバーを介して指定された領域/oraclebackupにバックアップファイルがアップロードされ、過去7日間のデータのみが保持されます。

シーンの説明

オペレーティングシステム:Centos

FTP:192.168.148.121ユーザー:dellパスワード:123

解決策:Linuxを使用している場合crontab-Automatedタスクが自動バックアップを実装する

実装手順

1.バックアップファイルを保存するディレクトリを作成します。

[root @ localhost ts]#mkdir -p /backup /oracledata /tsbak

2、バックアップスクリプトファイルtianshanftp.sh vim /backup/oracledata/tsbak/tianshanftp.shを作成し、次の内容を入力します。

(詳細なコードの説明)#!/bin /sh

FTP_IP = 192.168.148.121 #ftp住所

FTP_USER = dell #ftpユーザー名

FTP_PASS = 123 #ftp密集番号

FTP_backup = /oraclebackup #ftpバックアップ時ファイルのディレクトリは、最初にFTP上に作成する必要があります。

BK_DR = /backup /oracledata /tsbak#バックアップファイルの保存パス

DB_DR = /backup /oracledata /ts#既存のファイル

DAYS = 7#DAYS = 7は7日前を削除することを意味しますつまり、過去7日間のバックアップのみを保持します。

LINUX_USER = root#system username

date = `日付+%Y%m%d`

tar zcvf $ BK_DR /TianShan$date.tar.gz $ DB_DR

chown -R $ LINUX_USER:$ LINUX_USER $ BK_DR#バックアップデータベースファイルの所有者を変更します。

find $ BK_DR -name" TianShan *" -type f -mtime + $ DAYS -exec rm {} \\;#7日前にバックアップファイルを削除します(注:{} \\;間にはスペースが入ります)

deldate = `date -d -7day + %Y%m%d `#ftpサーバースペースのバックアップを削除する7日前

ftp -i -v -n $ FTP_IP" END#ftpサーバーを開きます。 21はftpポート "ENDと最後のENDです。用語は次のとおりです。現在の文書はここで文書です。ここでの文書は特殊目的のコードブロックです。

[#これはコマンドシーケンスを置くためにI /Oリダイレクトの形式を使いますftp、cat、exテキストエディタなどの対話型プログラムまたはコマンドに渡されます。この文は、非会話モードのEND接続からENDが入力されるまでのすべてのコマンドを理解できます。もちろん、ENDという名前は気軽に取ることができます。必ずしもENDとは限りません。他の名前を取ることもできます。 】

ユーザー$ FTP_USER $ FTP_PASS#ユーザー名、パスワード

バイナリ#設定二元传输

cd $ FTP_backup #Enter ftpディレクトリ

lcd $ BK_DR #リストローカルディレクトリ

mput TianShan $ date.tar.gz TianShan $ date.tar.gz#ディレクトリにファイルをアップロードする

mdelete TianShan $ deldate.tar.gz TianShan $ deldate。 Tar.gz#バックアップの7日前にftp領域を削除します。

bye

END

shを手動で実行しても問題がなければ、エラーを報告するためにcrontabに入れてください。上記のコメントは削除されますので、実行してみてください。下記の[]内のコードを使用できます。

[[#!/bin /sh

FTP_IP = 192.168.148.121

FTP_USER =デル

FTP_PASS = 123

FTP_backup = /oraclebackup

BK_DR = /backup /oracledata /tsbak

DB_DR = /backup /oracledata /ts

DAYS = 7

LINUX_USER = root < Br>

日付= `日付+%Y%m%d`

tar zcvf $ BK_DR /TianShan $ date.tar.gz $ DB_DR

chown -R $ LINUX_USER:$ LINUX_USER $ BK_DR

$ BK_DR -name" TianShan *" -type f -mtime + $ DAYS -exec rm {} \\;

deldate = `date -d -7day + %Y%m%d `

ftp -i -v -n $ FTP_IP" END

ユーザー$ FTP_USER $ FTP_PASS

バイナリ

cd $ FTP_backup

lcd $ BK_DR

mput TianShan $ date.tar.gz

mdelete TianShan $ deldate.tar.gz

bye

END】]

3、ファイルのプロパティを変更して実行可能にします。

chmod + x /backup/oracledata /tsbak /tanshanftp.sh

4、/etcを変更/crontab Vi /etc /crontab追加

5 2 * * * root /backup/oracledata /tsbak /tanshanftp.sh” /backup/oracledata /tsbak /mylog.log 2>& 1 ##毎朝2:5バックアップを実行し、対応するログを保持します。

5、設定を有効にするためにcrondを再起動します。

service crond restart #Start

毎日、/backup /oracledata /にいます。 tsbakディレクトリの下には、TianShan20140409.tar.gzのような圧縮ファイルがありますが、同時に、FTPサーバーの下のoraclebackupディレクトリにも、TianShan20140409.tar.gzのような圧縮ファイルがあります。

ファイルを復元する必要がある場合。このファイルを解凍するだけです。

解凍:tar -zxvf TianShan20140409.tar.gz?

Copyright © Windowsの知識 All Rights Reserved