![CentOS 备份 BASH 脚本](https://linux22.com/image/568411/CentOS%20%E5%A4%87%E4%BB%BD%20BASH%20%E8%84%9A%E6%9C%AC.png)
我刚刚编写了这个脚本,用于将所有内容备份到 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
因此基本上您可以将其包装在一个函数中,如果该函数与上次备份的日期不匹配,则将其添加到存档/备份中。否则继续。
高血压