在php的函数接口里面,PHP已经为我们准备了FTP的相关函数。我们只要使用这些PHP的函数,就可以写出简单的FTP功能。这里只是些出一个上传的功能, 配合相关的网站备份脚本,就可以简单的把网站备份到其他的服务器。

#!/usr/bin/php -q
<?php
$IP = 'taovps.com';
$NAME = 'username'; //把username改为你的用户名
$PASSWD = 'password'; // 设置password为你的ftp密码
$file = 'filename.zip';
$fp = fopen($file, 'r');
$ID = ftp_connect($IP);
$RE = ftp_login($ID, $NAME, $PASSWD);
$res = ftp_size($ID, $file);
if ($res != -1) {
       echo "$file exists, filesize is $res bytes !\n";
} else {
       (ftp_fput($ID, $file, $fp, FTP_ASCII));
       echo "upload completed! $file\n";
}
ftp_close($ID);
?>
在遇到相同的文件名时,有可能是已经上传过的文件,这里就不必再重复上传了。

对于一个网站来说,定期的备份文件是必不可少的。虽然平时不在意,可是在服务器发生故障时就感觉备份的重要性了。这里只是使用了PHP程序来备份网站文件夹内的网站,mysql数据库备份需要另外一个教程。

查看代码:

#!/usr/bin/php -q
<?php
$today = date("Ymd");
mkdir ("/root/backup/$today");
system ("tar czfP /root/backup/`date +%Y%m%d`/www-backup.tar.gz  /var/www/");
sleep(5);
echo "Backup completed!"."\n";
?>

既然要定时执行程序,那么就必要修改文件/etc/crontab, 在后面添加一行

1 3 * * * /root/backup.php

这样网站在03:01的时候就自动备份网站了。