通过php脚本备份整个站点

时间:2013-08-22 08:10:58

标签: php backup

我有一个用codeigniter开发的网站。

我想知道如何通过php备份我的网站[文件夹,文件等]。

2 个答案:

答案 0 :(得分:8)

您可以使用Shel Exec:http://php.net/manual/en/function.shell-exec.php

这允许你做的是通过php脚本运行shell命令。

<?php
function backup()
 {
  shell_exec("tar -cvf batckup.tar.gz /var/www/* ");
 }

backup();
?>

脚本需要权限,所以chmod它。

这将是一个粗略的方法。另一个是建立一个cronjob ..

简单的脚本:

   #!/bin/bash

  cd /www/var/
  tar zcf /home/sh/backup-`date +%Y%m%d`.tar.gz backup

请务必向脚本添加可执行权限:

chmod +x /home/sh/backup.sh

然后使用crontab -e命令添加相关的crontab条目:

0 13 * * 2 /home/sh/backup.sh

这是一个每周备份,您可以在此处查看时间格式http://www.nncron.ru/help/EN/working/cron-format.htm

然后你留下了备份:

backup-20110719.tar.gz 

对于您提到的数据库

   15 2 * * * root mysqldump -u root -pPASSWORD --all-databases | gzip >    /home/backup/databaseBackup_`data ' %m-%d-%Y'`.sql.gz 

答案 1 :(得分:3)

你必须备份:

  1. 网站文件
  2. 数据库
  3. 有一个解决方案:http://www.starkinfotech.com/php-script-to-take-a-backup-of-your-site-and-database/