1

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

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

4

2 回答 2

10

您可以使用 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 
于 2013-08-22T08:18:06.767 回答
3

您必须备份:

  1. 网站文件
  2. 数据库

有一个解决方案: http: //www.starkinfotech.com/php-script-to-take-a-backup-of-your-site-and-database/

于 2013-08-22T08:20:11.017 回答