我目前正在使用phpmyadmin export手动进行数据库备份作为sql转储,结果文件名将为spbkYYMMDD(Y;年份m:月份D:day)。是否有任何方法可以自动执行db备份以便我获得sql定期转储,文件名应相应自动生成。你可以解释一下逻辑。
答案 0 :(得分:8)
在unix shell中运行crontab并创建规则以启动创建数据库备份的过程
0 0 * * * /usr/local/bin/mysqldump -uLOGIN -PPORT -hHOST -pPASS DBNAME | gzip -c > `date “+\%Y-\%m-\%d”`.gz
同时检查this
修改强>
您只需编写的网络界面,不要以为您可以找到现成的代码。但是你需要使用cron job来自动化一个在unix机器上定期运行的函数。您可以找到有关如何编写cron-job here的更多信息。所以你现在,只需要编写一个web界面,它从用户那里获取数据并根据输入改变规则(我认为你可以自己做)
答案 1 :(得分:1)
自动化MySQL数据库备份的最佳方法是将一些备份软件与 phpmyadmin 实用程序结合使用。第二种方式,通常具有无额外付款的优势和不受控制的安全性的缺点,是使用 cron 实现一些脚本。
就个人而言,除了 phpMyAdmin 之外,我更喜欢Handy Backup。请参阅the link to an article作为示例。它不是最热门的备份解决方案,但相对便宜且非常稳定。
答案 2 :(得分:1)
我为这个确切的用例编写了一个快速脚本,因为我无法访问mysqldump
的控制台,因此我自己需要它:
下载: Github: phpmyadmin_sql_backup.py
您案件中的用法:
./phpmyadmin_sql_backup.py "https://www.example.com/phpmyadmin_login_page" USERNAME PASSWORD --basename "" --prepend-date --prefix-format "spbk%y%m%d" --overwrite-existing -o OUTPUT_DIRECTORY
希望它证明对其他人有用。
答案 3 :(得分:0)
当您具有管理员权限时,在文件夹中创建 .bat 文件。 下面是一个简单的 .bat 文件
cd "C:\XAMPP\mysql\bin"
mysqldump -hlocalhost -uroot ca > "D:\cash\bkcash\ca\db_%date:~-4,4%%date:~-10,2%%date:~7,2%_%time:~0,2%%time:~3,2%%time:~6,2%.sql"