新建ROSBAK2.0项目(正式上线)
可以根据这个自建FTP服务器,然后自动备份。参考如下代码。
ROSBAK2.0 项目已实现以下功能:
2.支持按 SFTP 用户自动划分存储目录。
3.支持限制用户文件数量、存储容量,存储天数。(超出限制将禁止新的上传文件。)
4.添加自动注册接口,在脚本中直接使用即可完成用户创建。
5.对提交的参数进行正则式白名单过滤,防止注入。
6.自动回传用户状态信息到ROS日志。
7.支持全局用户数限制。
###账号不存在则会自动注册,无需担心###
###定义WEB服务器端口###
:global webport 2220
###定义SFTP服务器IP地址###
:global ftpip bak.ros6.com
###定义SFTP服务器端口###
:global ftpport 2210
###定义SFTP服务器用户名(5-32位字符,请自行修改)###
:global ftpu test123
###定义SFTP服务器密码(5-32位字符,请自行修改)###
:global ftpp test123
###定义备份文件密码(请自行修改)###
:global backpw "mima123"
###设备名称(请自行修改,关联存储的备份文件名称)###
:global rname "ros6"
###开启服务状态日志(yes/no)###
:global recvlog "yes"
###开始工作勿改###
/file remove [find name~"_auto.backup"]
:do [/tool fetch url=("https://".$ftpip.":".$webport."/act=get&user=".$ftpu."&pass=".$ftpp) keep-result=$recvlog dst-path=rosbak.log]
:delay 5s
:if ([/file find name="rosbak.log"] !="") do={:log warning [/file get [find name="rosbak.log"] contents];/file remove [find name="rosbak.log"]}
:global taa 0
:global nowmonth
:global allmonth jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec
:foreach lizi in=[$allmonth] do={
:if ([:pick [/system clock get date] 0 3]=$lizi) do={
:set nowmonth ($taa+1)}
:set taa ($taa + 1)}
:global aa ([:pick [/system clock get date] 7 11].$nowmonth.[:pick [/system clock get date] 4 6]);
###开始备份###
/sys backup save name=($aa."_auto") password=$backpw encryption=aes-sha256
:delay 10s
###开始上传到FTP服务器###
:do [/tool fetch url=("sftp://".$ftpip.":".$ftpport."/backup/".$aa."_".$rname."_auto.backup") src-path=($aa."_auto.backup") user=$ftpu password=$ftpp upload=yes]
更新内容:新增全局用户数限制,用户注册控制。
更新内容:修复已发现的所有BUG。
留言评论
暂无留言