2011-05-12 133 views
-1

更新:我不知道Perl或Python,正如我所说的。不要给我例子,因为我不明白!如何编写一个cron作业来备份MySQL数据库?

我已经看过其他帖子,但没有看到任何真正的答案。我使用Go Daddy并希望每天备份我的MySQL数据库,并且如果可能的话,一次只允许在该文件夹中进行7次备份。

文件夹:_db_backups DB名称:ccadatabase

转到爸爸说:

您共享的主机帐户支持下列语言和相关解释线:

的Perl:#!的/ usr/bin/perl

Python 2.2:#!/ usr/bin/python2.2

的Python 2.3:#在/ usr/bin中/ python2.3

的Python 2.4:!#在/ usr/bin中/的python2.4

红宝石:#!的/ usr/local/bin目录/红宝石

Bash:#!/ bin/bash

安装的PHP 4和PHP 5版本不支持PHP文件中的解释器规范。为了通过Cron运行PHP脚本,您必须手动指定解释器。例如:

PHP 4:/网络/ cgi-bin目录/ PHP的 “$ HOME/HTML/test.php的”

PHP 5:/网络/ cgi-bin目录/ PHP5“$ HOME/HTML /测试.php5“

有没有人可以帮助我编写一个快速脚本来使此过程自动化?那太好了!我不知道任何Perl/Python,所以如果你能解释你的代码,我会非常感激。谢谢!

+2

有吨[实例](HTTP的://dev.mysql。 com/doc/refman/5.1/en/backup-methods.html)。 – Mel 2011-05-12 17:30:36

+0

有一个单独的cron行,删除超过7天的任何东西 – ysth 2011-05-12 17:30:54

+0

@Mel @ysth,我专门写了,我不知道python或perl,所以我不知道语法,不能通过查看一些示例来编写脚本。 – 2011-05-12 17:38:22

回答

2

这里是我使用

#!/bin/bash 
DATE_NOW=$(date +%Y%m%d) 
BACKUP_DIR=/Users/nico/${DATE_NOW} 

mkdir -p ${BACKUP_DIR} 

echo "Dumping data ..." 
mysqldump -ume -hlocalhost -ppass db > ${BACKUP_DIR}/${DATE_NOW}-mybackup.sql                              

注意:你必须与用户密码更改的mysqldump变量DB等

+0

你可以把我的数据放在那里吗?像文件夹名称和数据库名称,并把我应该把用户和通过?我不明白你发布的脚本,但如果你能告诉我在哪里放置物品,我会感激。就像ume,hlocalhost,ppass一样。 – 2011-05-12 17:20:22

+0

@JD Audi:-u,-h和-p分别指定数据库用户,主机名和密码。 @Gevious:使用另一个变量作为基于日期的目录,在mkdir和mysqldump之间建立日期变化 – ysth 2011-05-12 17:29:50

+0

@ysth这样而不是-ume我会把-username? – 2011-05-12 17:37:46