正文索引 [隐藏]
前言
一开始我是打算用插件来备份的,但是感觉好麻烦也不好用,所以就想自己写个shell脚本自动备份。数据库用mysqldump来导出,网站文件直接用tar打包压缩,为了以防万一把我数据库的文件夹也打包压缩了
我之前完全没有写过shell脚本,下面这个脚本是我一边百度一边写的,非常简陋
shell备份脚本
#!/bin/bash DATE=$(date +%y-%m-%d) #以当天日期创建文件夹 mkdir /home/backup/$DATE cd /home/ #导出数据库 mysqldump -h xxx.xxx.xxx.xxx -P 3306 -uuser -ppasswd --databases wordpress > /home/backup/$DATE/$DATE-wordpress.sql #直接打包压缩整个数据库文件夹 tar -zcf /home/backup/$DATE/$DATE-mysql.tar.gz ./mysql/ #打包压缩网站文件 tar -zcf /home/backup/$DATE/$DATE-wordpress.tar.gz ./wordpress/
我选择了相对路径是因为tar使用绝对路径后打包后的文件也是带有路径的属性,个人感觉不爽
计划任务
备份间隔的话一个星期一次就够了,利用crontab来自动执行
#编辑/etc/crontab vi /etc/crontab #添加 0 6 * * 0 root /home/backup/backup #这样每个星期日凌晨6点就会自动执行脚本
旧的备份偶尔上去手动删除就好了
虽然文件备份到了服务器上面,但是万一硬盘挂了呢,所以我利用syncthing把服务器上面的备份自动同步到我的电脑上
syncthing备份同步
去官网下载压缩包:syncthing
#解压 tar -zxvf syncthing-linux-amd64-v1.1.3.tar.gz #进入解压目录 cd syncthing-linux-amd64-v1.1.3 #复制syncthing文件到/usr/bin cp syncthing /usr/bin #先启动一次初始化配置文件 syncthing #然后编辑配置文件,把127.0.0.1:8384改成0.0.0.0:8384 vi ~/.config/syncthing/config.xml #systemd cp syncthing-linux-amd64-v1.1.3/etc/linux-systemd/system/[email protected] /etc/systemd/system #启动syncthing systemctl start [email protected] #开机自启syncthing systemctl enable [email protected]
就这样吧,云端备份什么的用不着,我就不信脸这么黑两个同时坏
参考文章
评论
还没有任何评论,你来说两句吧!