简单的 bash 备份解决方案

简单的 bash 备份解决方案

我有一个非常对 shell 脚本的经验有限,想制定某种脚本来每周备份我的博客 (Wordpress)。

这是我目前所拥有的

#!/bin/bash

# Determine current date
setenv CURDATE date +%Y%m%d

# Backup DB & email it to me
mysqldump dbname -u user -ppassword | gzip | uuencode ${CURDATE}dbname.sql.gz | mail -s "backup for dbname ${CURDATE}" [email protected]

cd /home/myhome

# Zip blog
tar cf - blog.mysite.me | gzip - > ~/backups/${CURDATE}blog.mysite.me.tar.gz

这就是我有点困惑的地方...我原本想通过电子邮件将博客目录发送给我自己,但是当目录大小超过 10MB 左右时该怎么办?我该如何编写脚本来拆分目录并通过电子邮件将目录块发送给我?

我还有另一个建议更好的是通过 FTP 将备份传输到我拥有的另一个 VPS。但为了节省空间,我只想保留最后 10 个备份。我将如何实现脚本的以下部分:

  1. 上传备份
  2. 获取文件列表
  3. 获取当前目录中的文件数(例如 /home/myhome/backups/blog )
  4. 如果数量 > 10,删除最旧的

如能得到任何关于解决该问题的帮助/建议或指点,我们将不胜感激:)

相关内容