说实话,现在运维工具太多了,功能也很完善,就拿网站备份来说,宝塔支持定时自动备份,还可以设置保存的份数。
即使这些功能已经很完善,但是自己还是想摸索一下,记录一下自己的过程,下面是一个通过php备份当前网站源码的程序:
修改源码路径、压缩文件保存路径,上传到你的网站程序运行目录执行即可备份。
<?php
// 源码目录路径
$sourceDir = '/www/wwwroot/5pxl3wbj/';
// 压缩文件保存路径
$zipFilePath = '/www/wwwroot/5pxl3wbj/back.zip';
// 创建一个ZipArchive对象
$zip = new ZipArchive();
// 打开压缩文件,如果文件不存在则创建
if ($zip->open($zipFilePath, ZipArchive::CREATE | ZipArchive::OVERWRITE) !== TRUE) {
die("无法创建压缩文件");
}
// 递归遍历源码目录,并将文件添加到压缩包中
$iterator = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($sourceDir),
RecursiveIteratorIterator::LEAVES_ONLY
);
foreach ($iterator as $file) {
// 排除目录本身
if (!$file->isDir()) {
// 获取文件相对于源码目录的路径
$relativePath = substr($file->getPathname(), strlen($sourceDir) + 1);
// 将文件添加到压缩包中
$zip->addFile($file->getPathname(), $relativePath);
}
}
// 关闭压缩文件
$zip->close();
echo "网站源码已压缩并导出到:$zipFilePath";
?>
这里只做了备份到指定目录,当然你也可以改写一下直接下载到本地。
注意:如果网站程序占用空间过大,可能会导致访问超时,可以自行修改环境的请求超时的时间。