PHP

Linux使用PHP自动备份Mysql上传至七牛

脚本:

db_user="MYSQL账号"
db_passwd="MySQL密码"
db_name="数据库名"
#备份至目录
backup_dir="/root/backup"
# 增加时间前缀命名
time="$(date +"%Y-%m-%d_%H-%M-%S")"     
#命名
mysqldump -u$db_user  -p$db_passwd $db_name  > "$backup_dir/$db_name"_"$time.sql"
#压缩
zip -r "$backup_dir/$db_name"_"$time.zip" "$backup_dir/$db_name"_"$time.sql"
rm -rf "$backup_dir/$db_name"_"$time.sql"
#运行PHP 上传七牛脚本
php /root/PHP脚本名 "$backup_dir/$db_name"_"$time.zip"
rm -rf "$backup_dir/$db_name"_"$time.zip"

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
$accessKey = '';
$secretKey = '';
// 构建鉴权对象
$auth = new Auth($accessKey, $secretKey);
// 要上传的空间
$bucket = 'back';
// 生成上传 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);
}

增加计划任务执行

*/5 * * * * /root/脚本名  

每5分钟 上传一次MYSQL备份

0 条评论

发表评论

你需要登录后才可进行发表