通过php脚本备份整个站点

use*_*003 1 php backup

我有一个在codeigniter开发的网站.

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

Pog*_*dis 9

您可以使用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();
?>
Run Code Online (Sandbox Code Playgroud)

该脚本需要权限,所以chmod它.

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

简单的脚本:

   #!/bin/bash

  cd /www/var/
  tar zcf /home/sh/backup-`date +%Y%m%d`.tar.gz backup
Run Code Online (Sandbox Code Playgroud)

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

chmod +x /home/sh/backup.sh
Run Code Online (Sandbox Code Playgroud)

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

0 13 * * 2 /home/sh/backup.sh
Run Code Online (Sandbox Code Playgroud)

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

然后你留下了备份:

backup-20110719.tar.gz 
Run Code Online (Sandbox Code Playgroud)

对于你提到的数据库

   15 2 * * * root mysqldump -u root -pPASSWORD --all-databases | gzip >    /home/backup/databaseBackup_`data ' %m-%d-%Y'`.sql.gz 
Run Code Online (Sandbox Code Playgroud)