环境
两台linux,一台puppet master,一台puppet agent,都已经安装并且配置好。
在puppet agent上安装bpcs_uploader
bpcs_uploader是使用php写的一个脚本,放在github上,想要实现将服务器上的本地文件上传至百度云就需要用到这个脚本。
我们需要先安装它的运行环境php(已安装好的可以跳过):
yum install php
接下来我们从github上下载该脚本:
wget https://github.com/oott123/bpcs_uploader/zipball/master
解压该脚本(没有安装unzip的自行yum安装):
unzip master
默认的文件夹名字很长,为了方便以后操作,重命名文件夹:
mv oott123-bpcs_uploader-3a33d09 baidu
这里我将文件夹名字修改成了baidu,需要注意的是,以后的默认文件夹名字可能有所不同,毕竟程序会升级,你需要看一下解压出来的文件夹名称是什么。
进入程序目录:
cd baidu
设置权限:
chmod +x bpcs_uploader.php
运行程序:
./bpcs_uploader.php
请确认php命令能够正确执行,执行后如图:
配置bpcs_uploader和百度云盘的连接
想要让该脚本能够将数据上传百度云,必须要获得百度云账号的授权。
输入y,会显示如图:
为了不麻烦,这里选择使用临时的API KEY ,30天之后 会过期的,如果有自己的API KEY就好些,但基于普通用户也懒得去创建。回车之后就会显示让您在浏览器打开并输入授权码。
使用浏览器打开图中标明的网址,登录百度账号,输入图中处的授权码:
点击继续,然后点击授权即可。
此时回到linux,输入回车。
此时就可以看到授权已经成功。
配置puppet master
打开puppet master所在机器,编辑配置文件:
vi /etc/puppet/manifests/site.pp
输入以下代码:
exec {"aaa":
command => "php /usr/local/baidu/bpcs_uploader.php upload /tmp/test hahaha",
path => "/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin",
}
这里需要根据自己bpcs_uploader.php所在文件路径进行修改。upload之后的/tmp/test修改成自己想要上传的文件路径和名称,hahaha修改成上传至百度云和的重命名。
在刚才安装了bpcs_uploader的机器上新建刚才指定需要上传的文件:
touch /tmp/test
此时puppet会定时执行刚才的脚本。如果想要puppet立即执行,在puppet agent端输入
puppet agent --test
site.pp就会立刻执行:
此时打开百度云,在“我的应用数据”下的“bpcs_uploader”里就会看到文件已经成功上传备份至云盘:
其实以上在puppet agent上的操作都可以在puppet master上通过编写脚本完成。