CentOS 备份 BASH 脚本

CentOS 备份 BASH 脚本

我刚刚编写了这个脚本,用于将所有内容备份到 tar.gz 文件中。看起来还好吗?如何让 tar 文件在执行后自行传输到另一台服务器?从其自身进行 FTP 传输?我打算将此脚本放入每周 cron 中。

#!/bin/bash

rm ~/backup.tar.gz #removes old backup
BACKUP_DIRS=$HOME #$HOME is builtin, it goes to /home/ and all child dirs
tar -cvzf backup.tar.gz $BACKUP_DIRS

# run tar -zxvf to extract backup.tar.gz

答案1

FTP 是魔鬼。使用 RSA 密钥对的 SCP 是将文件安全地从服务器移动到服务器的好方法。至于脚本,它看起来不错。

答案2

如果您没有太多需要更改的文件,则可以使用 rsync,而不必制作大型 tar 包。Rsync 只会发送更改,因此它比您提议的网络效率更高。也许可以从查看以下内容开始:

http://lifehacker.com/196122/geek-to-live--mirror-files-across-systems-with-rsync?tag=softwarersync

答案3

根据服务器的大小,您会创建大量重复文件。如果我是您,我只会备份已修改的文件。您还应该为文件添加日期时间戳。

以下是我要做的。

  • 每月或每周进行一次全后卫训练
  • 所有其他日期的增量备份
  • 为文件添加日期时间戳,以便于恢复

检查文件修改日期的一个真正简单的方法是:

date -r $file +%F

因此基本上您可以将其包装在一个函数中,如果该函数与上次备份的日期不匹配,则将其添加到存档/备份中。否则继续。

高血压

相关内容