命令模式

Redis持久化

岁酱吖の 提交于 2020-02-28 14:27:59
redis的 rdb 和 aof 持久化的区别 aof,rdb是两种 redis持久化的机制。用于crash后,redis的恢复。 1.两种持久化机制的特性 rdb的特性如下: fork一个进程,遍历hash table,利用copy on write,把整个db dump保存下来。 save, shutdown, slave 命令会触发这个操作。 粒度比较大,如果save, shutdown, slave 之前crash了,则中间的操作没办法恢复。 aof有如下特性: 把写操作指令,持续的写到一个类似日志文件里。(类似于从postgresql等数据库导出sql一样,只记录写操作) 粒度较小,crash之后,只有crash之前没有来得及做日志的操作没办法恢复。 两种区别就是,一个是持续的用日志记录写操作,crash后利用日志恢复;一个是平时写操作的时候不触发写,只有手动提交save命令,或者是关闭命令时,才触发备份操作。 选择的标准,就是看系统是愿意牺牲一些性能,换取更高的缓存一致性(aof),还是愿意写操作频繁的时候,不启用备份来换取更高的性能,待手动运行save的时候,再做备份(rdb)。rdb这个就更有些 eventually consistent的意思了。 2.redis的rdb和aof模式性能对比 由于是同一台机器,进行相对对比,我就不列配置了。系统是debian

linux 系统监控、诊断工具之 top 详解

狂风中的少年 提交于 2020-02-28 14:19:50
接触 linux 的人对于 top 命令可能不会陌生(不同系统名字可能不一样,如 IBM 的 aix 中叫 topas ),它的作用主要用来监控系统实时负载率、进程的资源占用率及其它各项系统状态属性是否正常。 下面我们先来看张 top 截图: (1)系统、任务 统计信息: 前 8 行是系统整体的统计信息。第 1 行是任务队列信息,同 uptime 命令的执行结果。其内容如下: 01:06:48 当前时间 up 1:22 系统运行时间,格式为时:分 1 user 当前登录用户数 load average: 0.06, 0.60, 0.48 系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。 注意: 这三个值可以用来判定系统是否负载过高——如果值 持续大于系统 cpu 个数,就需要优化你的程序或者架构了。 (2)进程、 c pu 统计信息: 第 2~6 行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。内容如下: Tasks: 29 total 进程总数 1 running 正在运行的进程数 28 sleeping 睡眠的进程数 0 stopped 停止的进程数 0 zombie 僵尸进程数 Cpu(s): 0.3% us 用户空间占用CPU百分比 1.0% sy 内核空间占用CPU百分比 0.0% ni

awk(gawk)

佐手、 提交于 2020-02-28 08:45:21
  awk,逐行处理文本内容。Linux里的awk其实是“gawk”。   使用格式:     awk [选项] '模式匹配 {命令 命令参数}' file1, file2, …… 支持的选项 说明 -f program-file --file program-file 从文件接收 awk指令,可以同时指定多个文件 -F fs --field-separator fs 指定(fs)列分隔符 -v var=value --assign var=value 为 BEGIN 块定义变量var,指定其值为value -d[file] --dump-variables[=file]   demo,ipaddress俩文件的内容是环网柜、柱上开关柜的主、备ip地址。分别以制表符、冒号分割。 $ cat demo RingNetwork 181.36.1.8 182.36.4.8 Switch 181.32.1.22 182.36.4.42 Switch 181.32.1.23 182.36.4.43 $ cat ipaddress R:181.36.1.8:182.36.4.8 S:181.32.1.22:182.36.4.42 S:181.32.1.23:182.36.4.43   命令:     print 打印输出,参数之间使用逗号分隔。      printf 输出时,需要指定输出格式

scp命令详解

≯℡__Kan透↙ 提交于 2020-02-28 07:42:21
先说下常用的情况: 两台机器IP分别为:A.104.238.161.75,B.43.224.34.73。 在A服务器上操作,将B服务器上/home/lk/目录下所有的文件全部复制到本地的/root目录下,命令为:scp -r root@43.224.34.73:/home/lk /root。 具体过程为: [root@XX ~]# scp -r root@43.224.34.73:/home/lk /root root@43.224.34.73's password: k2.sql 100% 0 0.0KB/s 00:00 k.zip 100% 176 0.2KB/s 00:00 .bash_history 100% 32 0.0KB/s 00:00 .bash_logout 100% 18 0.0KB/s 00:00 .bashrc 100% 231 0.2KB/s 00:00 k3.sql 100% 0 0.0KB/s 00:00 .bash_profile 100% 193 0.2KB/s 00:00 [root@XX ~]# ls 在A服务器上将/root/lk目录下所有的文件传输到B的/home/lk/cpfile目录下,命令为:scp -r /root/lk root@43.224.34.73:/home/lk/cpfile。 具体过称为: [root@XX lk]#

Linux基础

我只是一个虾纸丫 提交于 2020-02-28 07:09:43
一、学习目标 能够独立安装Linux操作系统 能够熟练使用Linux系统的基本命令 熟练使用Linux中用户管理命令/系统相关命令/文件目录相关命令/打包压缩相关命令/比较合并相关命令/网络相关命令等 熟练应用“搜索”进行举一反三的学习 二、学习资源 课程资料: https://www.shiyanlou.com/courses/413 实验一,课程邀请码:W7FQKW4Y Linux 基础入门: https://www.shiyanlou.com/courses/1(重点,第一次课考核内容全部从这里面出) Linux命令: en cn 三、学习方法 进度很重要:必须跟上每周的进度,阅读,练习,问答,项目。我会认真对待每一位同学,请你不要因为困难半途而废。 问答很重要:遇到知识难点请多多提问,这是你的权利更是您对自己负责的义务。问答到博客园讨论小组: http://group.cnblogs.com/103791/ 实践很重要:解决书中习题,实践书中实例,完成每周项目,才算真的消化了这本好书。通过实验楼环境或自己安装的虚拟机在实践中进行学习 实验报告很重要:详细记录你完成项目任务的思路,获得老师点评和帮助自己复习。学习完成后在博客园中( http://www.cnblogs.com/)把学习过程通过博客发表 , 博客标题“信息安全系统设计基础第一周学习总结” 四、学习任务 (提示

《嵌入式系统设计与应用》——学习笔记03(第三章 嵌入式Linux操作系统)

旧巷老猫 提交于 2020-02-28 05:57:58
第三章 嵌入式Linux操作系统 本章要点 : ⑴Linux的基本概念。 ⑵Linux的目录结构。 ⑶Linux的常用命令。 ⑷Linux的文本编辑器。 ⑸Linux系统的启动过程。 3.1 Linux基本概念 从应用上讲,Linux一般有四个主要部分: 内核、Shell、文件系统和实用工具 。 1.Linux内核 Linux内核是整个Linux系统的灵魂,Linux系统的能力完全受内核能力的制约。 Linux内核负责整个系统的内存管理、进程调度和文件管理 。Linux内核容量并不大,一般不会超过1MB,而且大小可裁剪,这是其优点之一。 简单介绍Linux内核功能: 1)进程管理 进程管理功能是 负责创建和撤销进程以及处理它们和外部世界的连接 。主要包括处理不同进程之间的通信、控制进程如何共享CPU资源的调度程序。概括说就是内核的进程管理活动就是在单个或多个CPU上实现多进程的抽象。 2)内存管理 用来管理内存的策略是决定系统性能的一个关键因素。 内核在有限的可用资源上为每个进程都创建了一个虚拟寻址空间 。内核的不同部分在和内存管理子系统交互时使用一套相同的系统调度。 3)文件管理 Linux中每个对象几乎都可以被视为文件。 一切皆文件 。 4)设备控制 几乎每个系统操作最终都会被映射到物理设备上。除处理器、内存等几个有限实体外,所有设备控制操作都由与被控制设备相关的代码来完成

Make和Makefile编写(详见GCC手册)

情到浓时终转凉″ 提交于 2020-02-28 03:43:24
Makefile和Make Rules 多模块软件、依赖树和Make 默认规则 Make使用程序对简单变量的支持 内建变量 虚目标 特殊目标 一般性语法错误及其纠正措施 命令行的使用和调试 Makefile中常用规则总结 make常用选项 -d    显示调试信息 -f    指定从哪个文件中读取依赖关系信息。默认文件是“Makefile”或“makefile” ,"-"表示从标准输入 -h    显示所有的Makefile的help信息 -n    打印所有Makefile执行命令,但不执行这些命令 -s    运行时不显示任何信息 注释 #    连接符 \ 关联列表和命令列表中使用shell通配符 ?     * 默认模式规则 %.o:%.c:   $(CC) $(CFLAGS) -c $< %.o:%.s:   $(AS) $(ASFLAGS) -o $@ $< 简单变量 定义:变量名:=文本 添加:变量名+=文本 变量引用 $(变量名) ${变量名} $单字符变量 C := gcc $C CC := gcc OPTIONS := -O3 OBJECTS :=main.o OBJECTS := input.o compute.o SOURCE :=main.c input.c compute.c HEADERS := main.h input.h compute.h

你问我答集锦

旧时模样 提交于 2020-02-27 21:54:45
1 .为什么建议读者校验下载的系统镜像或工具? 答: 为了保证软件包的安全与完整性。 2 .使用虚拟机安装Linux系统时,为什么要先选择稍后安装操作系统,而不是去选择RHEL 7系统镜像光盘? 答: 在配置界面中若直接选择了RHEL 7系统镜像,则VMware Workstation虚拟机会使用内置的安装向导自动进行安装,最终安装出来的系统跟我们后续进行实验所需的系统环境会不一样。 3 .RPM(红帽软件包管理器)只有红帽企业系统在使用,对吗? 答: RPM 已经被CentOS、Fedora、openSUSE等众多Linux系统采用,它真的很好用! 4 .简述RPM与Yum软件仓库的作用。 答: RPM 是为了简化安装的复杂度,而Yum软件仓库是为了解决软件包之间的依赖关系。 5 .RHEL 7系统采用了systemd作为初始化进程,那么如何查看某个服务的运行状态? 答: 执行命令“systemctl status 服务名.service”可查看服务的运行状态,其中服务名后的.service可以省略。 6 .在RHEL 7系统及众多的Linux系统中,最常使用的Shell终端是什么? 答: Bash (Bourne-Again SHell)解释器。 7 .执行Linux系统命令时,添加参数的目的是什么? 答: 为了让Linux系统命令能够更贴合用户的实际需求进行工作。 8

Redis集群的配置与故障恢复

北战南征 提交于 2020-02-27 20:24:41
集群 Redis在主从复制模式下,每个数据库依然存有集群中的所有数据,从而导致集群的总数据存储量受限于内存最小的服务器。 另外,对Redis进行水平扩展比较麻烦,通常使用客户端分片来解决这个问题,由客户端决定每个键存储到哪个节点。但扩容时想增加新的节点就需要对数据进行手工迁移,为了保证迁移过程中,数据的一致性,还需要将Redis暂时下线。 Redis在3.0版本推出了集群模式,在该模式中由Redis决定key存储在哪个节点,以及查询时从哪个节点查询。 准备8个虚拟机,安装好redis: 192.168.2.104 192.168.2.105 192.168.2.106 192.168.2.107 192.168.2.108 192.168.2.109 192.168.2.110 192.168.2.111 先将前6个节点组成集群,然后在将后两个节点以扩容的形式加入到集群。 配置 要使用集群,首先要开启集群的配置: cluster-enabled yes 如果由防火墙,打开16937端口(默认) 启动Redis后,在redis-cli终端下执行INFO cluster查询集群是否正常: [root@localhost redis-5.0.7]# redis-cli 127.0.0.1:6379> INFO cluster # Cluster cluster_enabled:1

Linux下Gvim 的基本操作

本小妞迷上赌 提交于 2020-02-27 20:23:31
vi 有三种方式 编辑方式 插入方式 命令方式 在命令方式下,所有命令以“:”开始,所键入的字符系统均作为命令处理 在命令方式下,按下i就会进入插入模式,用户输入的可视字符都添加到文件中, 按下Esc键,就回到命令状态 基本命令 光标命令: k,j,h,l-----上下左右移动光标 nG-------跳转命令。n为行数,该命令立即跳转到指定的行 Ctrl+G -----报告光标所在位置的行数和列数 w,b----- 使光标向前或者向后跳过一个单词 编辑命令: i,a,r----在光标的前后以及所在处插入字符(insert,append,replace); cw,dw-----改变(置换)/删除光标所在出的单词(c=change,d=delete); x,d$,dd-----删除一个字符,删除光标所在行到行尾的所有字符以及删除整行 查找命令: ------/string,? string----从光标所在处向后或向前查找相应的字符串 键入n则查找下一个相应的字符串 拷贝复制命令: -----yy,p-------复制一行到剪贴板或取出剪贴板中的内容 3.常用操作: 1)无论是创建新文档或修改旧文件,都可以用vi,所需命令:vi filenamei 2) 在插入方式下,如果要输入命令,必须先按Esc键进入命令方式。之后在编辑模式下输入命令时, 需要先按冒号:改变为命令方式