linux下Vps自动备份web和mysql数据库的脚本
2023-06-13 09:14:33 时间
用Vps什么事都要自己费心,备份也是。像Linode里的备份服务是要收费的,一个月是5美元。与其花这5美元,不如自己丰衣足食。为服务安装上了Dropbox,设定为每天4:00-6:00开启同步服务。在之前运行两个脚本,自动备份web文件夹和mysql数据库。
两个脚本都是备份文件到/root/Dropbox/backup目录里,并自动删除10天前的备份。web备份是每周行一次,删除30天前的备份。
一、备份WEB文件夹
1、备份/home/users/public_html目录
2、修改crontab为每周第一天3:22时运行
复制代码代码如下:
两个脚本都是备份文件到/root/Dropbox/backup目录里,并自动删除10天前的备份。web备份是每周行一次,删除30天前的备份。
一、备份WEB文件夹
1、备份/home/users/public_html目录
2、修改crontab为每周第一天3:22时运行
223**0rootrun-parts/etc/cron.weekly
3、复制脚本到/etc/cron.weekly目录
4、修改权限
chmod0755/etc/cron.weekly/webbackup.sh
5、脚本如下
#!/bin/sh
filename=`date+%Y%m%d`
backup_dir="/root/Dropbox/backup/web"
#deleteallfiles10daysago
find$backup_dir-mtime+30-name"*"-execrm-rf{}\;
#eachuseryouwantbackup
users="baidusina"
foruserin${users};do
tarzcvf$backup_dir/$user$filename.tar.gz/home/$user/public_html
done
6、注意filename那句不是单引号,在tab键上方
7、要备份的用户的public_html目录,就把该用户填入users
二、Mysql数据库每日备份
1、为了安全,新建用户backup,用强密码(自动生成即可),全局权限为select,locktables
2、每日3:00开始执行,修改crontab
3、复制脚本到/etc/cron.daily
4、修改权限
5、脚本内容
#!/bin/sh
dbuser="backup"
dbpassword="youpassword"
datas="db1db2db3"
filename=`date+%Y%m%d`
bin_dir="/usr/local/mysql/bin"
backup_dir="/root/Dropbox/backup/mysql"
#deleteallfiles10daysago
find$backup_dir-mtime+10-name"*"-execrm-rf{}\;
#Doeachdatabasebackup
fordatain${datas};do
$bin_dir/mysqldump--opt-u$dbuser-p$dbpassword$data|gzip>$backup_dir/$data$filename.sql.gz
done
6、同上一个第6条
7、要备份的数据库填入datas
三、感受
因为都在美国的原因,备份到dropbox的速度很快,一个10M的文件备份到dropbox,从开启dropbox服务,马上刷新dropbox的网站就可以看到了。
如果流量很紧张的话,也可以设定dropbox为每周运行,或每5天运行等。应该是需要设定要备份周期,或者结合起来使用。
相关文章
- Linux文件引用:突破你的计算机技术限制(linux文件引用)
- MySQL数据库设计:最佳实践与实施指南(mysql设计)
- MySQL 授权之路:安全操作数据库(mysql授权)
- MySQL数据库框架:实现数据管理效率化(mysql数据库框架)
- Linux下学程序设计之旅(linux学程序设计)
- MySQL提交:轻松提升数据库性能(mysql提交)
- 怎样查看Linux系统所有用户(查看linux所有用户)
- 深入剖析:MySQL 中索引的使用(mysql如何使用索引)
- 和导入MySQL数据库导出导入:实现数据管理便捷化(mysql数据库的导出)
- 与导出MySQL数据库导入导出技巧经验总结(mysql数据库的导入)
- 如何登录MySQL数据库(怎么登录mysql)
- Linux下线程睡眠实现技术研究(线程睡眠linux)
- Linux源代码:深入探索开源世界(linux源代码网站)
- 构建构建基于MySQL百万级数据库(百万级mysql)
- MySQL行合并:提升数据库查询效率(mysql行合并)
- MySQL 驱动包: 畅通无阻的数据库连接(mysql的驱动包)
- 错误调整阿里云服务器MySQL密码出错(阿里服务器mysql密码)
- Linux编译:如何快速删除文件(linux编译删除)
- MySQL数据库差异究竟如何?(mysql数据库差异比较)
- ADODB驱动MySQL快速便捷访问数据库(adodb访问mysql)
- MySQL间的三台数据库同步(3个mysql之间同步)
- 快速切换MySQL数据库CMD操作技巧(cmd mysql 切库)
- 深入浅出如何用C语言连接MySQL数据库(mysql_,c语言)
- 2018年MySQL下载指南轻松获取最新版MySQL数据库(mysql下载2018)
- MYSQL代码定期备份Mysql数据库