web-dev-qa-db-ja.com

Linux cron:フォルダをバックアップしたい

Centosでcronを使用してフォルダをバックアップしたいのですが。フォルダ c2duo_mms に位置しています /usr/local/src/djcode/c2duo_mms。火曜日の午後1時ごとにホームフォルダーにipでバックアップしてほしい/home/sh

6
Shehzad009

家に新しい圧縮アーカイブを作成することをお勧めします。

Exmaple */home/sh/c2duo_mms_backup.sh *という名前のこのスクリプトを作成します。

#!/bin/bash

cd /usr/local/src/djcode/
tar zcf /home/sh/c2duo_mms-`date +%Y%m%d`.tar.gz c2duo_mms

スクリプトには必ず実行権限を追加してください。

chmod +x /home/sh/c2duo_mms_backup.sh

次に、関連するcrontabエントリをcrontab -eコマンドで追加します。

0 13 * * 2 /home/sh/c2duo_mms_backup.sh

スクリプトは毎週火曜日にファイル名に日付を含む新しい圧縮アーカイブを作成するので、必要に応じて古いバックアップを保持できます。ファイル名は次のようになります。

c2duo_mms_20110719.tar.gz 
12
user842313
$ crontab -e
0 13 * * 2 cp -b /usr/local/src/djcode/c2duo_mms /home/sh/

crontab -eコマンドは、好みのエディターで編集するためにcrontabファイルをプルアップする必要があります(EDITORまたはVISUAL環境変数によって設定されます)。 crontabの行は、コマンドを0分、13時間、2日、週の任意の年に実行するように指示しています。コマンド自体は単純な単一ファイルのコピーですが、cpがバックアップファイルを作成するように-b引数を追加しました。これにより、現在のバックアップと以前のバックアップ(拡張子.bk)の2つのバックアップが常に残ります。

編集:ファイルではなくフォルダの場合は、rsyncを試してください。

0 13 * * 2 rsync -av /usr/local/src/djcode/c2duo_mms/ /home/sh/c2duo_mms/
3
Caleb

コマンドcrontab -eを使用して、次の行をcrontabに追加します。

0 13 * * 2 cp -pra /usr/local/src/djcode/c2duo_mms /home/sh
2