哈哈哈哈哈哈
这篇文章不错!
这篇文章不错!
作者对主题的挖掘深入骨髓,展现了非凡的洞察力和理解力。
情感真挚自然,字里行间传递出强烈的感染力。
作者的情感表达细腻入微,让人在阅读中找到了心灵的慰藉。
内容的丰富性和深度让人仿佛置身于知识的海洋,受益匪浅。
# 图片回复
你的文章让我感受到了正能量,非常棒! https://www.4006400989.com/qyvideo/93624.html
你的文章充满了智慧,让人敬佩。 https://www.yonboz.com/video/12554.html
你的文章让我感受到了正能量,非常棒! https://www.4006400989.com/qyvideo/82001.html
你的文章充满了智慧,让人敬佩。 https://www.yonboz.com/video/83913.html
你的文章让我感受到了正能量,非常棒! https://www.4006400989.com/qyvideo/82001.html
你的文章充满了智慧,让人敬佩。 https://www.yonboz.com/video/83913.html
首页
网站统计
关于本站
在线留言
友链申请
高清壁纸
论坛
开往
虫洞
推荐
Linux命令
资源网
Search
1
Typecho Cuteen主题美化
5,129 阅读
2
京东呆瓜搭建青龙面板+xdd-plus机器人+nvjdc配置
4,597 阅读
3
好久不见之网站底部样式
4,237 阅读
4
傻妞机器人最新版安装教程
4,108 阅读
5
Joe 主题 6.xx 底部增强,显示标签及二维码分享
3,114 阅读
Linux
Shell
Mysql
Typecho
网络
其他
Redis
登录
Search
标签搜索
Linux
Typecho
美化
Nginx
Shell
综合架构
Mysql
Joe
源码
Web
数据备份
命令
Ansible
k8s
定时任务
视频
网易云
白嫖
网络
Rsync
小黑
累计撰写
155
篇文章
累计收到
921
条评论
博主
4月14日
在线
首页
栏目
Linux
Shell
Mysql
Typecho
网络
其他
Redis
页面
网站统计
关于本站
在线留言
友链申请
高清壁纸
推荐
Linux命令
资源网
开往
搜索到
36
篇与
Linux
的结果
2021-06-07
keepalived
keepalived高可用服务工作原理 keepalived高可用对之间是通过VRRP协议通信的,VRRP协议是通过竞选机制来确定主备的,主的优先级高于备,因此,工作时主会获得所有的资源,备节点处于等待状态,当主挂了时候,备节点,接管主节点的资源,然后顶替主节点对外提供服务。VRRP协议是通过IP多播包的方式(224.0.0.18)发送的。 在keepalived之间,只有作为主的服务器会一直发送VRRP广播包,告诉备他还活着,此时备不会抢占主,当主不可用时,即备监听不到主发送的广播包时,就会启动相关服务接管资源,保证业务的连续性。接管速度可以小于1秒。VRRP使用加密协议加密发送广播包。VRRP介绍 VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议,VRRP协议将两台或多台路由器设备虚拟成一个设备,对外提供虚拟路由器IP(一个或多个),而在路由器组内部,如果实际拥有这个对外IP的路由器如果工作正常的话就是MASTER,或者是通过算法选举产生,MASTER实现针对虚拟路由器IP的各种网络功能,如ARP请求,ICMP,以及数据的转发等;其他设备不拥有该IP,状态是BACKUP,除了接收MASTER的VRRP状态通告信息外,不执行对外的网络功能。当主机失效时,BACKUP将接管原先MASTER的网络功能。 VRRP协议使用多播数据来传输VRRP数据,VRRP数据使用特殊的虚拟源MAC地址发送数据而不是自身网卡的MAC地址,VRRP运行时只有MASTER路由器定时发送VRRP通告信息,表示MASTER工作正常以及虚拟路由器IP(组),BACKUP只接收VRRP数据,不发送数据,如果一定时间内没有接收到MASTER的通告信息,各BACKUP将宣告自己成为MASTER,发送通告信息,重新进行MASTER选举状态。keepalived部署keepalived软件安装部署lb01 lb02负载服务器上均安装yum install -y keepalived #两台设备配置文件cat /etc/keepalived/keepalived.conf global_defs { notification_email { acassen@firewall.loc 填写管理员的邮箱信息 failover@firewall.loc sysadmin@firewall.loc } notification_email_from xxxxxxx@163.com 定义利用什么邮箱发送邮件 smtp_server smtp.163.com 定义邮件服务器信息 smtp_connect_timeout 30 定义邮件发送超时时间 router_id lb01 (重点参数)局域网keppalived主机身份标识信息(每台唯一) vrrp_skip_check_adv_addr 跳过相邻地址 vrrp_strict vrrp_garp_interval 0 vrrp_gna_interval 0 } vrrp_instance VI_1 { VRRP协议相关配置 state MASTER keepalived角色描述信息,可配置参数(MASTER,BACKUP) interface eth0 将虚拟ip用于那块网卡 virtual_router_id 55 表示keepalived家族表示信息 priority 150 keepalved服务竞选主备服务器优先级设置(数字越大越优先) advert_int 1 主服务器组播包发送间隔时间 authentication { 主备主机之间的认证表示信息 auth_type PASS 采用明文认证机制 auth_pass 1111 编写明文密码 } virtual_ipaddress { 设置虚拟ip地址信息 10.0.0.3/24 dev eth0 label eth0:1 #虚拟ip,即VIP为10.0.0.88,子网掩码为24位,绑定接口为eth0,别名为eth0:1,此参数备节点设置和主节点相同 } }搭建基础的keepalived配置文件 (lb01)cat /etc/keepalived/keepalived.conf global_defs { router_id LVS_01 vrrp_strict vrrp_garp_interval 0 vrrp_gna_interval 0 } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 150 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 10.0.0.3/24 dev eth0 label eth0:1 } }systemctl start keepalived systemctl enable keepalived搭建基础的keepalived配置文件 (lb02)cat /etc/keepalived/keepalived.conf global_defs { router_id LVS_02 vrrp_strict vrrp_garp_interval 0 vrrp_gna_interval 0 } vrrp_instance VI_1 { state BACKUP interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 10.0.0.3/24 dev eth0 label eth0:1 } }systemctl start keepalived systemctl enable keepalived
2021年06月07日
139 阅读
0 评论
0 点赞
2021-06-04
Nginx负载均衡
角色外网IP内网IP主机名LB0110.0.0.5172.16.1.5lb01web0110.0.0.7172.16.1.7web01web0210.0.0.8172.16.1.8web02web01:mkdir /html/www -p echo "xiaobai" > /html/www/index.html vim /etc/nginx/conf.d/www.conf server { listen 80; server_name ucbk.cn; #root /html/www; location / { root /html/www; index index.html index.htm; include proxy_params; } } systemctl reload nginxweb02:mkdir /html/www -p echo "xiaohei" > /html/www/index.html vim /etc/nginx/conf.d/www.conf server { listen 80; server_name ucbk.cn; #root /html/www; location / { root /html/www; index index.html index.htm; include proxy_params; } } systemctl reload nginx负载均衡服务器vim /etc/nginx/conf.d/lb_web.conf upstream web{ server 172.16.1.7:80; server 172.16.1.8:80; } server { listen 80; server_name ucbk.cn; location / { proxy_pass http://web; include proxy_params; } } systemctl restart nginx Nginx负载均衡后端状态后端Web服务器在前端Nginx负载均衡调度中的状态状态 概述down 当前的server暂时不参与负载均衡backup 预留的备份服务器(备用 )max_ fails 允许请求失败的次数fail_ t imeout 经过max_ fails失败后,服务暂停时间max conns 限制最大的接收连接数
2021年06月04日
200 阅读
0 评论
0 点赞
2021-04-12
Linux 命令
{mtitle title="Linux常用命令(centos 7 为例)"/}1、查看网络地址配置ip address show 或者 ip a centos 7 以前版本命令是 ifconfig2、ping 命令3、图形化界面修改网卡信息 nmtui4、网卡服务命令systemctl start network #启动网卡 systemctl restart network #重启命令 systemctl enable network #开机自动开启 systemctl disable network #开机不开启 systemctl stop network #停止网卡 systemctl status network #查看状态 service restart network #这是centos7 以前的版本5、关机命令命令意思shutdown关机shutdown -h 5指定5分钟后关机shutdown -c取消关机shutdown -h now/0立即关机halt/poweroff直接关机6、重启命令命令意思reboot直接重启shutdown -r now/0立即重启shutdown -r 55分钟后重启7、查看命令ls 文件或目录路径信息 ls -d 查看目录信息 ls -l 文件或目录信息 查看数据的属性信息 ls -la 目录信息 查看目录中隐藏文件 ls -lt 目录信息 将目录中的信息按照时间进行排序显示 ls -ltr 目录信息 按照时间信息,进行反向排序 ls -lh 数据信息 显示的数据信息大小,以人类可读方式显示8、创建命令mkdir 创建目录 mkdir -p 创建多级目录 touch 创建文件9、编辑文件命令vim(vi) i --- 进入编辑模式 esc --- 退出编辑模式 :wq --- 保存并退出 :w :q :wq!--- 强制保存退出 :q! --- 强制退出 命令模式-->插入模式 i --- 表示从光标所在位置进入编辑状态 I --- 表示将光标移动到一行的行首,再进入编辑状态 o --- 在光标所在行的下面,新起一行进行编辑 O --- 在光变所在行的上面,新起一行进行编辑 a --- 将光标移动到右边的下一个字符,进行编辑 A --- 将光标移动到一行的行尾,进入到编辑状态 C --- 将光标到行尾内容进行删除,并进入编辑状态 cc --- 将整行内容进行删除并进入编辑状态 总结:移动光标位置,并进入编辑状态方法 只移动光标,不进入编辑状态 大写字母G 将光标快速切换尾部 小写字母gg 将光标快速切换首部 ngg n表示移动到第几行 $ 将光标移动到一行的结尾 0/^ 将光标移动到一行的行首 命令模式--底行模式 : 输入一些命令 / 进入搜索状态(向下搜索 n依次向下) ? 进入搜索状态(向上搜索 n依次向上) 特殊使用技巧: 将一行内容进行删除(剪切) deletedelete=dd 将多行内容进行删除(剪切) 3dd 将内容进行粘贴 p 粘贴多次内容 3p 复制一行内容 yy 复制多行内容 3yy 操作错误如何还原 小写字母u undo10、echo命令echo "123" >1.txt 覆盖 echo "123" >>1.txt 追加11、查看文件内容cat 1.txt12、复制命令cp 文件 路径 cp -r 复制一个目录 \cp -r 强行复制一个目录13、删除命令rm 或者\rm(无确认) rm -f 强制删除文件 rm -rf 强制删除目录 \rm -r(无提示)14、移动命令mv 移动文件(重命名)15、挂载命令mount +存储设备文件+挂载点 umount +挂载点16、修改主机名hostnamectl set-hostname+主机名 直接修改 vim /etc/hostname 永久修改 hostname +主机名 临时修改17、查看磁盘挂载情况/使用情况df df -hPS:开机自动挂载blkid 查看磁盘信息vim /etc/fstab之后启动sshd18、开机加载文件/etc/rc.localrc.local的作用文件中的内容信息,会在系统启动之后进行加载文件中编写内容,一定是命令信息19、系统运行级别runlever20、查看命令路径which which cat21、加载配置文件信息source 立即加载文件配置信息 /etc/profile /etc/bashrc ~/.bashrc ~/.bash_profile /etc/sysconfig/i18n --- centos6字符集配置文件 /etc/locale.conf --- centos7字符集配置文件22、exportexport 定义环境变量 export 环境变量=xxx23、alias 设置系统别名alias 别名=’命令信息’ alias catnet=’/etc/sysconfig/network-scripts/ifcfg-eth0’ unalias 取消系统别名 unalias 别名 unalias catnet24、查看文件部分内容head -5 查看前5行内容 tail -5 查看后5行内容 tail -f 一直追踪查看文件内容变化 tail -f /var/log/secure 一直查看安全日志文件25、安装命令yum install -y 名称 直接安装软件 yum groupinstall -y 包组名称 直接安装软件包组 yum repolist 查看yum源信息 yum list 查看哪些软件可以安装/查看所有系统已安装的软件 yum grouplist 查看哪些软件包组可以安装/查看所有系统已安装的软件包组 yum --help help参数可以只显示命令的参数帮助信息 yum provides locate 获取命令属于哪个软件大礼包26、查看系统进程信息ps -ef 查看所有详细进程信息27、删除进程kill pid 删除指定pid号的进程 kill -9 pid 强制删除28、查看内存free free -h29、查看CPUlscpu30、查看负载信息/系统用户登录信息w31、创建用户useradd 用户名32、切换用户su -用户名33、设置密码passwd 用户名34、查看用户是否存在id 用户35、确认用户身份whoami36、rpm命令rpm 管理软件程序包的 rpm -qa 软件名称 查看软件大礼包是否安装成功 rpm -ql 软件名称 查看软件大礼包中都有什么 rpm -qf 文件名称(绝对路径) 查看文件属于哪个软件大礼包 rpm -e 软件名称 卸载软件37、systemctl 管理服务程序的运行状态systemctl start 服务名称 启动服务 systemctl stop 服务名称 停止服务 systemctl restart 服务名称 重启服务 systemctl status 服务名称 查看服务详细运行状态 systemctl disable 服务名称 让服务开机不运行 systemctl enable 服务名称 让服务开机运行 systemctl is-enable 服务名称 检查服务是否开机运行 systemctl is-active 服务名称 检查确认服务是否运行38、修改字符集localectl set-locale LANG=zh_GH.UTF839、less/more 逐行或逐页查看文件信息内容40、whereis 查看命令所在路径以及命令相关手册文件所在路径41、locate 查看文件所在路径信息updatedb 更新文件所在路径的索引数据库表 42、file 查看文件的类型file 文件信息 43、stat 查看数据详细属性信息stat file.txt 看到文件的三个时间信息 44、tar 压缩数据命令-z 压缩类型 -c 创建压缩包 -v 显示过程 -f 指定压缩文件路径 -x 解压文件 -t 查看压缩文件内容 --exclude 排除指定文件不被压缩处理 --exclude-from45、xargs 分组命令 按照分组显示args -n1 <文件 总结: < tr xxx < xargs < 46、tree 显示目录结构树tree -L 1 查看下几级目录机构 tree -d 目录结构中目录信息47、date 查看时间信息和修改时间信息date "+%F_%T" date -s 设置系统时间 date -d 显示未来或过去的时间信息48、ln 创建链接文件ln 源文件 链接文件 创建硬链接 ln -s 创建软链接49、wc 统计命令wc -l 统计有多少行50、chmod 修改文件目录数据权限信息chmod u/g/o chmod a 51、useradd 创建用户命令-s /sbin/nologin 指定用户shell登录方式 -M 不创建家目录 -u 指定用户uid信息 -g 指定用户所属主要组信息 -G 指定用户所属附属组信息 -c 指定用户注释信息52、usermod 修改用户信息-s /sbin/nologin 指定用户shell登录方式 -u 指定用户uid信息 -g 指定用户所属主要组信息 -G 指定用户所属附属组信息 -c 指定用户注释信息 53、userdel 删除用户信息userdel -r 彻底删除用户和家目录信息54、groupadd 创建用户组groupmod 修改用户组 groupdel 删除用户组55、chown 修改用户属主和属组的信息chown -R 递归修改用户属主和属组信息56、sort 排序命令 sort -n 按照数值进行排序 sort -k1 按照指定列进行排序57、dd 模拟创建出指定大小的文件 dd if=/dev/zero of=/tmp/oldboy.txt bs=10M count=100 从哪取出数据 放到哪 占用1个block多少空间 总共使用多少个block58、du 查看目录的大小du -sh 汇总查看目录大小,以人类可读方式59、change directory==cd 切换目录命令 cd /xxx 绝对 cd xxx 相对 cd .. 上一级 cd ../../ 上多级 cd - 返回上一次所在路径 cd/cd ~ 返回到用户家目录高级命令:4剑客01、老四 find 查询文件所在路径 find /oldboy -type 文件类型 -name "文件名称" find /oldboy -type f -mtime +10 -delete --- 删除历史数据信息 find /oldboy -type f -size +10 -delete --- 删除大于10k文件 -maxdepth 查找目录层级的深度 -inum 根据文件inode信息查找 -exec 对查找出的数据进行相应处理 -perm 根据权限查找数据信息 -iname 忽略名称大小写02、老三 grep 文件 对信息进行过滤筛选 grep -B n 显示指定信息前几行内容 grep -A n 显示指定信息后几行内容 grep -C n 显示指定信息前后几行内容 grep -c 显示指定信息在文件中有多少行出现 grep -v 进行取反或者排除 grep -E/egrep 识别扩展正则符号 grep -o 显示过滤过程信息 grep -n 过滤信息并显示信息行号 grep -i 过滤信息忽略大小写03、sed 命令04、awk 命令系统中的常见环境变量1、 PATH 方便命令的使用 2、 PS1 定义提示符的信息或格式 快捷方式: 01、ctrl+c 中断命令执行操作过程 02、ctrl+l 清屏操作 03、ctrl+d 注销功能 04、tab 补全快捷键 补全目录路径或文件名称信息/命令 05、方向键上下 调取之前输入过的历史命令 06、ctrl+a 快速将光标移动到行首 a b c d 07、ctrl+e 快速将光标移动到行尾 08、ctrl+左右方向键 按照一个英文单词进行移动光标 09、esc+. 将上一个命令最后一个信息进行调取 10、ctrl+u 将光标所在位置到行首内容进行删除(剪切) 11、ctrl+k 将光标所在位置到行尾内容进行删除(剪切) 12、ctrl+y 粘贴剪切的内容 13、ctrl+s xshell进入到了锁定状态 suo锁 14、ctrl+q 解除锁定状态 quit推出锁定状态 15、ctrl+r 快速搜索历史命令 系统特殊符号~ 家目录符号 .. 上一级目录 . 当前目录 > 标准输出重定向符号 >> 标准输出追加重定向符号 2> 错误输出重定向符号 2>> 错误输出追加重定向符号 < 标准输入重定向符号 << 标准输入追加重定向符号 && 代表前一个命令执行成功后,再执行后面的命令 ; 代表前一个命令执行之后,再执行后面的命令 # 代表将配置文件信息进行注释 在命令提示符中表示超级管理员身份 $ 用于加载读取变量信息 表示一行的结尾 在命令提示符中表示普通用户身份 ! 强制 ``反引号 将引号中命令执行结果交给引号外面的命令进行处理 | 管道符号 将前一个命令的结果交给管道后面命令进行处理 {} 序列符号(通配符) 通配符号,显示数字或字母的序列信息
2021年04月12日
1,490 阅读
15 评论
5 点赞
2021-04-03
Shell:变量数值计算(下)
bc 命令用法如果没有安装bc,用下面命令进行安装centos systemctl intall -y bcUnbunt apt-get install -y bcroot@cs:/server/scripts# echo 3+5|bc 8 root@cs:/server/scripts# echo 3-5|bc -2 root@cs:/server/scripts# echo 3.6-5.2|bc -1.6 root@cs:/server/scripts# echo 3.6*5.2|bc 18.7 root@cs:/server/scripts# echo "scale=2;355/113"|bc 3.14 root@cs:/server/scripts# echo "scale=6;355/113"|bc 3.141592计算1-10的结果root@cs:/server/scripts# echo `seq -s "+" 10`=`seq -s "+" 10|bc` 1+2+3+4+5+6+7+8+9+10=55 root@cs:/server/scripts# echo `seq -s "+" 10`=$((`seq -s "+" 10`)) 1+2+3+4+5+6+7+8+9+10=55 root@cs:/server/scripts# echo `seq -s '+' 10`=$(echo $[`seq -s "+" 10`]) 1+2+3+4+5+6+7+8+9+10=55 awk实现计算root@cs:/server/scripts# echo "5.3 6.9"|awk '{print ($1+$2)}' 12.2 root@cs:/server/scripts# echo "5.3 6.9"|awk '{print ($1-$2)}' -1.6 root@cs:/server/scripts# echo "5.3 6.9"|awk '{print ($1*$2)}' 36.57 root@cs:/server/scripts# echo "5.3 6.9"|awk '{print ($1/$2)}' 0.768116$[]实现运算root@cs:/server/scripts# i=8 root@cs:/server/scripts# i=$[i+6] root@cs:/server/scripts# echo $i 14 root@cs:/server/scripts# echo $[i-5] 9 root@cs:/server/scripts# echo $[i*5] 70 root@cs:/server/scripts# echo $[i**5] 537824 root@cs:/server/scripts# echo $[i/5] 2 root@cs:/server/scripts# echo $[i%5] 4基于Shell 变量输入read 命令的运算实践root@cs:/server/scripts# cat test3.sh #!/bin.bash read -p "please input two:" a b echo "a+b=$(($a+$b))" echo "a-b=$(($a-$b))" echo "a*b=$(($a*$b))" echo "a/b=$(($a/$b))" echo "a**b=$(($a**$b))" echo "a%b=$(($a%$b))" echo "a++:$((a++))" echo "a=$a" echo "++a:$((++a))" echo "a=$a" echo "b--:$((--b))" echo "b=$b" echo "--b:$((--b))" echo "b=$b"执行结果root@cs:/server/scripts# sh test3.sh please input two:2 2 a+b=4 a-b=0 a*b=4 a/b=1 a**b=4 a%b=0 a++:2 a=3 ++a:4 a=4 b--:1 b=1 --b:0 b=0完善的代码root@cs:/server/scripts# cat test3.sh #!/bin.bash read -t 15 -p "please input two:" a b [ ${#a} -le 0 ]&&{ echo "the first num is null" exit 1 } [ ${#b} -le 0 ]&&{ echo "the first num is null" exit 1 } expr $a + 1 &>/dev/null REVTAL_A=$? expr $b + 1 &>/dev/null REVTAL_B=$? if [ $REVTAL_A -ne 0 -o $REVTAL_B -ne 0 ];then echo "one of the num is not num,pls input again." exit 1 fi echo "a+b=$(($a+$b))" echo "a-b=$(($a-$b))" echo "a*b=$(($a*$b))" echo "a/b=$(($a/$b))" echo "a**b=$(($a**$b))" echo "a%b=$(($a%$b))" echo "a++:$((a++))" echo "a=$a" echo "++a:$((++a))" echo "a=$a" echo "b--:$((--b))" echo "b=$b" echo "--b:$((--b))" echo "b=$b"运算结果root@cs:/server/scripts# sh test3.sh please input two:12 12 a+b=24 a-b=0 a*b=144 a/b=1 a**b=8916100448256 a%b=0 a++:12 a=13 ++a:14 a=14 b--:11 b=11 --b:10 b=10用传参方式进行运算
2021年04月03日
310 阅读
0 评论
0 点赞
2021-03-29
利用PHP和crontab实现typecho定时推送链接到百度
1、 编写PHP文件想必大家都知道在百度站长添加网站吧,这里就不赘述了百度站长平台:https://ziyuan.baidu.com在百度站长中打开自己的网站记一下推送接口,后面要用,在网站根目录创建一个php文件添加以下内容<?php header('Content-Type:text/html;charset=utf-8'); $xmldata =file_get_contents("https://自己网站/sitemap.xml"); $xmlstring = simplexml_load_string($xmldata,'SimpleXMLElement',LIBXML_NOCDATA); $value_array = json_decode(json_encode($xmlstring),true); $url = []; for ($i =0;$i < count($value_array['url']);$i++){ echo $value_array['url'][$i]['loc']."<br/>"; $url[]= $value_array['url'][$i]['loc']; } $api ='百度站长的推送接口'; $ch = curl_init(); $options = array( CURLOPT_URL => $api, CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_POSTFIELDS => implode("\n",$url), CURLOPT_HTTPHEADER => array('Content-Type:text/plain'), ); curl_setopt_array($ch, $options); $result =curl_exec($ch); echo $result; ?> 在浏览器中访问https://www.xiaobai666.top/文件名.php ,出现以下结果说明配置成功接下来就是把PHP文件定时推送到百度,打开终端输入(root用户,不是root用户加个sudo)crontab -e 或者 vim /var/spool/cron/root vim命令应该都会吧(i键进行编写 保存先按esc之后输:wq)#每8个小时推送网站 时间可自行更改 0 */8 * * * curl https://www.xiaobai666.top/post.php >/dev/null 2>&1 编写完成后重启crondsystemctl restart crondPS:定时任务格式(不明白可百度)* * * * * 任务 分 时 日 月 周
2021年03月29日
1,063 阅读
2 评论
8 点赞
2021-03-14
数据备份到对象存储(cos)
之前我,写过利用bypy+crontab 实现定时数据备份到百度网盘, {abtn icon="" color="#f76402" href="https://www.xiaobai666.top/312.html" radius="12" content="点击下载"/} ,大家也知道百度网盘的一个缺点就是下载速度太慢,当然如果你是会员就当我没说,下面给你们介绍如何把数据备份到腾讯的cos中,腾讯的数据存储新用户会有6个月的50G标准存储容量。环境:Java和腾讯云的迁移工具{cloud title="点击下载" type="github" url="https://github.com/tencentyun/cos_migrate_tool_v5" password=""/}迁移工具功能说明迁移工具集成了有关COS数据迁移的功能, 目前支持以下四大类迁移本地数据迁移到COS, 功能同之前的本地同步工具友商数据迁移到COS, 目前支持aws s3, 阿里云oss, 七牛存储, 又拍云存储根据url下载列表进行下载迁移COS的bucket数据相互复制, 支持跨账号跨地域的数据复制运行依赖JDK1.8或以上, 有关JDK的安装请参考JAVA安装与配置linux或windows环境, 推荐linux使用范例1、配置全部通过配置文件读入sh start_migrate.sh2、指定部分配置项以命令行为主.sh start_migrate.sh -DmigrateLocal.localPath=/test_data/aaa/ -Dcommon.cosPath=/aaa sh start_migrate.sh -DmigrateAws.prefix=/test_data/bbb/ -Dcommon.cosPath=/bbb迁移机制迁移工具是有状态的,已经迁移成功的会记录在db目录下,以KV的形式存储在leveldb文件中. 每次迁移前对要迁移的路径, 先查找下DB中是否存在, 如果存在,且属性和db中存在的一致, 则跳过迁移, 否则进行迁移。这里的属性根据迁移类型的不同而不同,对于本地迁移,会判断mtime。对于友商与bucket复制,会判断源文件的etag和长度是否与db一致。因此,我们参照的db中是否有过迁移成功的记录,而不是查找COS,如果绕过了迁移工具,通过别的方式(比如coscmd或者控制台)删除修改了文件,那么运行迁移工具由于不会察觉到这种变化,是不会重新迁移的。其他请参照COS迁移工具官网文档Java安装:1、下载 JDK进入 Oracle 官方网站 下载合适的 JDK 版本,准备安装。或者下载我用的安装包:{cloud title="点击下载" type="wy" url="https://share.weiyun.com/5p7MsV6c" password=""/}2、创建目录执行如下命令,在 /usr/ 目录下创建 java 目录。mkdir /usr/java cd /usr/java将下载的文件 jdk-8u151-linux-x64.tar.gz 复制到 /usr/java/ 目录下。3、解压 JDK执行如下命令,解压文件。tar -zxvf jdk-8u151-linux-x64.tar.gz 4、设置环境变量编辑 /etc/profile 文件,在 profile 文件中添加如下内容并保存:set java environment JAVA_HOME=/usr/java/jdk1.8.0_28 JRE_HOME=/usr/java/jdk1.8.0_281/jre CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin export JAVA_HOME JRE_HOME CLASS_PATH PATH{message type="warning" content="其中 JAVA_HOME,JRE_HOME 请根据自己的实际安装路径及 JDK 版本配置。"/}使之修改生效,执行如下:source /etc/profile 5、测试执行如下命令进行测试。java -version若显示 Java 版本信息,则说明 JDK 安装成功:java version "1.8.0_151" Java(TM) SE Runtime Environment (build 1.8.0_151-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)下载并配置cos工具1、解压并保存到某个目录unzip cos_migrate_tool_v5-master.zip && cd cos_migrate_tool_v5-master2、迁移工具结构正确解压后的 COS Migration 工具目录结构如下所示: COS_Migrate_tool |——conf #配置文件所在目录 | |——config.ini #迁移配置文件 |——db #存储迁移成功的记录 |——dep #程序主逻辑编译生成的JAR包 |——log #工具执行中生成的日志 |——opbin #用于编译的脚本 |——src #工具的源码 |——tmp #临时文件存储目录 |——pom.xml #项目配置文件 |——README #说明文档 |——start_migrate.sh #Linux 下迁移启动脚本 |——start_migrate.bat #Windows 下迁移启动脚本这里主要配置config.ini文件 vim conf/config.ini 配置好之后保存创建腾讯对象存储桶创建目录开始测试 sh start_migrate.sh 由于我备份的数据大上传的速度会慢一些,只需等待即可出现上图结过表示备份成功
2021年03月14日
777 阅读
4 评论
3 点赞
1
2
3