简单自制备份脚本

VPS里的一些数据可能需要定时备份,如网站数据。之前我用过dropbox备份脚本,后来不知怎么回事失效了,而且毕竟dropbox在国内访问不便。比较好的方法是将文件备份到自己的另外一部VPS上。下面是一段菜鸟级别的bash脚本,供大家参考~

#!/bin/bash
TIME=`date +%Y%m%d%H%M`
FPATH=/root/backup
OF=$TIME.tar.bz2
SQL=$TIME-Databases.sql
mysqldump -u USER -pPASSWORD --all-databases > $FPATH/$SQL
tar cjf $FPATH/$OF --exclude='*.mp4' -C /home ./wwwroot -C $FPATH ./$SQL
curl -T $FPATH/$OF -u user:password ftp://12.34.56.78/backup/
rm -f $FPATH/$OF
rm -f $FPATH/$SQL

其中需要解释的是tar命令跟的参数:
–exclude排除了指定模式的文件,这里是*.mp4
-C是cd到后面指定的文件夹里,然后做打包操作。之所以这么做,是因为如果不用-C,而直接指定完整目录的话,生成的压缩包里也会完整地保留有文件的完整目录结构,这是大部分人不希望的。在这个例子里,先cd到了/home目录下,打包其下的wwwroot文件夹,然后再cd到/root/backup目录下,继续往压缩包里添加前面生成的数据库dump文件。

配合我之前写过的另一篇文章,就可以实现定时自动备份数据啦!如果还需要备份MySQL数据库,可以参考这篇文章

本文为悠然居(https://wordpress.youran.me/)的原创文章,转载请注明出处!

Leave a Reply

Your email address will not be published. Required fields are marked *