内容简介:翻译自:https://stackoverflow.com/questions/11965278/linux-perform-mysql-backup-to-time-based-path-from-webmin
我试图在Linux Ubuntu Server 12.04(CronJob)中设置一个计划任务,以便在午夜执行我所有 MySQL
数据库的每日备份.
我已经安装了已知的 Webmin (一个用于管理Web服务器的漂亮的Web界面).
所以我的问题是:每当执行备份时,文件都会被覆盖!
这意味着:前天的备份很少,只保存“昨天”备份!
我试过像设置动态文件路径之类的东西:
的/ var / WWW / mysqlbackups /%D-%间 – %Y
但我没有成功:(
有谁能够帮我.
非常感谢你们.
我制作了一个 shell 脚本(不适用于webmin).把它放在/etc/cron.daily中.
脚本对数据库进行备份(将其存储为.gz),然后通过ssh将其上载到另一台服务器.对于auth.我设置了ssh密钥,因此不需要密码.
备份文件具有唯一名称,因此您不会覆盖备份文件.
这是您在脚本中创建文件名的方法:
now=`date +%Y%m%d_%H%M` dst_path=/var/local/backups filename="$dst_path/$database.$now.sql.gz"
然后你应该写一个小脚本,删除所有早于x天的备份文件.
#!/bin/sh # # Creates a backup of a MySQL databases and uses ssh (sFTP) to send if to another server # This script shouldbe called from the crontab PATH=/usr/sbin:/usr/bin:/sbin:/bin # MySQL user and password mysql_cmd=/opt/bitnami/mysql/bin/mysqldump mysql_usr=user_name mysql_pass=password # destination ssh dst_user=user_name dst_hostname=192.168.1.1 # Database to backup database=test # create timestamp now=`date +%Y%m%d_%H%M` # where we store the files dst_path=/var/local/backups # backup filename filename="$dst_path/$database.$now.sql.gz" dst_filename="$database.$now.sql.gz" # run backup $mysql_cmd -u $mysql_usr --password=$mysql_pass $database | gzip > $filename # upload to sever (ssh) scp $filename $dst_user@$dst_hostname:
翻译自:https://stackoverflow.com/questions/11965278/linux-perform-mysql-backup-to-time-based-path-from-webmin
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 深入解析Java绝对路径与相对路径
- C#/.NET 如何确认一个路径是否是合法的文件路径
- PostgreSQL基础备份_增量备份与任意点恢复
- 深度备份还原工具 V1.0 正式发布 — 备份还原,安全可靠
- GAC 与其物理路径
- 关键渲染路径优化
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Markdown 在线编辑器
Markdown 在线编辑器
HSV CMYK 转换工具
HSV CMYK互换工具