crontabを使用した電子メールのバックアップ

crontabを使用した電子メールのバックアップ

私はこのタスクを使ってcron毎日午前1時にバックアップを作成します。/home/blah/

0 1 * * * tar -zcf /home/blah/backup.tgz /home/blah/

実際、私はこれが好きです.tgzファイルが添付されたEメールを受信しました。 (はい、私のフォルダは非常に小さいため、ファイルサイズは常に5 MB未満です。)

次のようにできますか?

0 1 * * * mail -s "Backup blah" "[email protected]" --attachment=(tar -zcf /home/blah/backup.tgz /home/blah/)

(これは擬似コード最後に)クローンの仕事では?どのcron構文を使用する必要がありますか?

答え1

マイコンピュータでテストするときは、次のコマンドが効果的でした。

echo "This is the message body" | mutt -a "/path/to/file.to.attach" -s "subject of message" -- [email protected]

したがって、従うべきアプローチは次のようになります。

tar -zcf /home/blah/backup.tgz /home/blah/
echo "Please find attached the backup file" | mutt -a "/home/blah/backup.tgz" -s "File attached" -- [email protected]

上記のスクリプトを次のように保存backup_email.shし、クローンジョブを次のようにスケジュールしました。

0 1 * * * /path/to/backup_email.sh

引用する

https://stackoverflow.com/a/9524359/1742825

答え2

まずZIPをインストールしてからバックアップをスケジュールします。

zip system.zip /etc/* /var/www/* /var/lib/mysqlbackup/default/* && sleep 3 |  mutt -a "system.zip" -s "Daily backup as of $(date +%x)" -- [email protected] && rm -rf system.zip

それからcrontabはそれをします

bashrcファイルにエイリアスを追加すると、いつでもコマンド全体を実行できます。

bashrcファイルの一番下に次を追加します。

alias backup='zip system.zip /etc/* /var/www/* /var/lib/mysqlbackup/default/* && sleep 3 |  mutt -a "system.zip" -s "Daily backup as of $(date +%x)" -- [email protected] && rm -rf system.zip '

だからあなたのcrontabは次のようになります

0 0 * * * backup

独自のコマンドを使用して、いつでもbackupこのバックアップを実行できます。

関連情報