我知道我可以在我的专用服务器上为我的 WordPress 数据库进行 mysql 转储。但我想自动执行此操作,并希望将转储通过电子邮件发送到我的 Gmail 帐户。这可能吗?
答案1
您可以使用 wp-db-backup 插件将数据库备份到 gmail 或任何其他电子邮件地址。
http://wordpress.org/extend/plugins/wp-db-backup/
更新:
本教程介绍如何备份和通过电子邮件发送 WordPress 数据库。
http://www.tamba2.org.uk/wordpress/cron/
摘自脚本
#Set the 4 variables
#Replace what is AFTER the = with the information from your wp-config.php file
#That's your information on the right okay ?
DBNAME=DB_NAME
DBPASS=DB_PASSWORD
DBUSER=DB_USER
#Keep the " around your address
EMAIL="you@your_email.com"
#Change the 'wp_' to match your table_prefix in the database
mysqldump --opt -u $DBUSER -p$DBPASS $DBNAME > backup.sql
gzip backup.sql
DATE=`date +%Y%m%d` ; mv backup.sql.gz $DBNAME-backup-$DATE.sql.gz
echo 'Blog Name: Your mySQL Backup is attached' | mutt -a $DBNAME-backup-$DATE.sql.gz $EMAIL -s "MySQL Backup"
rm $DBNAME-backup-$DATE.sql.gz
快速教程:如何设置 crontab
答案2
有两种设置方法cron
。
如果您正在运行某种 Web 界面(如 cPanel),那么几乎肯定有一种简单的方法可以从那里设置 cron 作业。查找名为“cron 作业”或“计划任务”之类的东西。它们会询问您希望何时(例如每周日凌晨 4:00)运行以及将结果通过电子邮件发送到哪里。
如果您有服务器的 shell 访问权限,则可以
crontab
手动编辑。这是一个教程关于如何执行此操作,有很多方法。您可以直接通过键入 来编辑它crontab -e
,使用 来查看它crontab -l
,或者将 crontab 保存到文本文件并通过键入 来加载它crontab -r the-text-file
。
在您的情况下,对于选项 (2),您可以输入以下两行,以便每周日凌晨 4:00 更新并通过电子邮件向您发送结果。
0 4 * * 0 command-you-want-to-use
[email protected]
你可能想要使用的命令是
mysqldump --user=username --password=password databasename
这会将数据库转储到 stdout,crontab 会将其通过电子邮件发送给您。转储将包含在电子邮件的消息中。您可以通过在 crontab 中包含一行来配置将其发送到哪封电子邮件,例如
如果您希望将数据库保存到服务器上的文件中,而不是通过电子邮件发送给自己,则可以使用该命令
mysqldump --user=username --password=password databasename > somefilename