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/)的原创文章,转载请注明出处!