环境
- Windows 服务器
- Winrar 压缩软件
- Mysql数据库
- PHP 5.3以上环境 (不包括5.3)推荐使用5.4
- PHP 七牛 SDK 版本为 7.1.3 https://github.com/qiniu/php-sdk/releases 这里找一下 7.1.3的版本
实现方法
两个bat文件 一个php文件
1.bat 用于备份mysql数据 并使用Winrar压缩 运行php 传文件路径给php上传到七牛
2.bat 用于定时循环运行1.bat
bak.php 给上传备份文件至七牛
文件内容如下
1.bat
set "Ymd=%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%_%TIME:~0,2%_%TIME:~3,2%_%TIME:~6,2%" md "C:\Users\Administrator\Desktop\bak\%ymd%" "D:\MySQL Server 5.5\bin\mysqldump.exe" --opt -Q myrws -uroot -pAATNHaatno3ni4kciabxf5pe3 > C:\Users\Administrator\Desktop\bak\%Ymd%\mysql.sql echo Winrar loading... "C:\Program Files (x86)\WinRAR\WinRAR.exe" a -ep1 -r -o+ -m5 -df "C:\Users\Administrator\Desktop\bak\%Ymd%.rar" "C:\Users\Administrator\Desktop\bak\%Ymd%" echo OK! D:\php\php C:\Users\Administrator\Desktop\bak\bak.php "C:\Users\Administrator\Desktop\bak\%Ymd%.rar"
注意的是上面的路径 需要自己修改一下 mysql的bin路径 备份路径 与php路径 以及 bak.php路径
2.bat
@echo off :start start "" cmd /c C:\Users\Administrator\Desktop\1.bat choice /t 5 /d y /n >nul goto start
上面的路径 也需要修改一下 1.bat的路径 上面的5 则为 5秒运行一次备份 注意时间修改!
bak.php
<?php require_once 'php-sdk-7.1.3/autoload.php'; //引入七牛 PHP SDK print_r($argv); // 引入鉴权类 use Qiniu\Auth; // 引入上传类 use Qiniu\Storage\UploadManager; // 需要填写你的 Access Key 和 Secret Key // 构建鉴权对象 $auth = new Auth('七牛AK', '七牛SK'); // 要上传的空间 $bucket = 'bakk'; // 生成上传 Token $token = $auth->uploadToken($bucket); // 要上传文件的本地路径 $filePath = $argv[1]; // 上传到七牛后保存的文件名 $key = date("Y-m-d H:i:s").'.zip' ; // 初始化 UploadManager 对象并进行文件的上传 $uploadMgr = new UploadManager(); // 调用 UploadManager 的 putFile 方法进行文件的上传 list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath); echo "\n====> putFile result: \n"; if ($err !== null) { var_dump($err); } else { var_dump($ret); }
注意 七牛SDK路径
运行2.bat 就会定时运行1.bat 备份文件 让php执行上传至七牛云储存 ! END
0 条评论