随笔分类 -  Linux操作基础

摘要:熟悉了一段时间的Bash编程,因此借此任务操作一把bash编程,主要涉及到Redis单节点与Redis集群的操作 1. 任务背景 近日有个任务需要将历史的Redis(主从节点)中的数据迁移至Redis集群中。相关条件与要求如下: (1) 历史Redis以及新的Redis集群分别部署在北京、合肥、广州 阅读全文
posted @ 2019-02-15 14:20 mengrennwpu 阅读(659) 评论(0) 推荐(0) 编辑
摘要:1. 拼接 1) 简单的字符串拼接如:PATH=$PATH:$HOME/bin。如果拼接的字符串包含空格或特殊字符,需要使用双引号括起,如: 注意:+=的性能较直接拼接的效率高,测试如下: 2) 重复字符到指定长度 通过拼接在每个循环中拼接多个实例来提高函数速度: 2. 字符处理 没有直接的参数扩展 阅读全文
posted @ 2019-02-14 23:27 mengrennwpu 阅读(1029) 评论(0) 推荐(0) 编辑
摘要:shell的方法在相同的进程内执行,与调用它的脚本一致。对于方法来说,脚本中的所有变量均可见,且不需要执行export。方法中可以创建局部变量,且不影响正在调用的脚本。 1. 定义语法 (1) KornShell中的定义格式为:function name <复合命令> (2) Bourne shel 阅读全文
posted @ 2019-02-12 21:47 mengrennwpu 阅读(457) 评论(0) 推荐(0) 编辑
摘要:1. 变量命名 变量命名只能使用数字、下划线、字母,且仅能以下划线或字母开头。 变量很少使用单个字母,单个字母一般用于循环或读取一次性文件的时候。 例: 变量名最好能望名知意 2. 变量作用域 若脚本a调用脚本b,则a无法得知b中的变量,除非将b中的变量写入环境变量中。 脚本中在变量前使用expor 阅读全文
posted @ 2019-01-14 17:09 mengrennwpu 阅读(948) 评论(0) 推荐(0) 编辑
摘要:$@表示脚本输入的全部参数,在bash脚本中,若$@增加引号("$@"),则包含空格的参数也会被保留,若不增加引号($@),则包含空格的参数会被拆分。 例: 1. 引号 对于单引号、双引号、转义字符开头的空格,命令行解析时将不会被拆分。 2. 花括号 花括号作用于不带引号、以逗号分隔的列表或序列。当 阅读全文
posted @ 2019-01-03 23:25 mengrennwpu 阅读(436) 评论(0) 推荐(0) 编辑
摘要:Shell中有三种类型的循环:for, until, while,具有3种类型的条件语句:if, case, 条件操作符(&&, ||)。 1. 结束码 命令的结束码可以在命令运行完后,查看$?查看。当命令执行正常时,结束码为0,当异常时,返回1-255的数字。 2. test命令 test命令用于 阅读全文
posted @ 2018-12-27 08:31 mengrennwpu 阅读(242) 评论(0) 推荐(0) 编辑
摘要:openSSH作为linux远程连接工具,容易受到攻击,必须更新版本来解决,低版本有如下等漏洞: a. OpenSSH 远程代码执行漏洞(CVE-2016-10009) b. OpenSSH auth_password函数拒绝服务漏洞(CVE-2016-6515) c. OpenSSH 远程代码执行 阅读全文
posted @ 2018-12-26 10:58 mengrennwpu 阅读(855) 评论(0) 推荐(0) 编辑
摘要:1. 基本知识 (1) $HOME: 当前用户的家目录 (2) `pwd`或$PWD:当前目录 (3) 脚本命名避免使用test,通过type -a test,可以查看所有匹配test的命令 (4) 脚本中应包含作者、时间、命令描述等信息。脚本第一行必须以"#!"开头,告诉系统将使用哪个编译器执行该 阅读全文
posted @ 2018-12-26 10:52 mengrennwpu 阅读(328) 评论(0) 推荐(0) 编辑
摘要:可以ping通ip地址,但无法ping通域名,主要是DNS的配置问题。经查阅,DNS配置文件/etc/resolv.conf每次重启后就会失效。本文旨在解决该问题。 1. Ubuntu ubuntu中的/etc/resolv.conf中可以看到如下注解: 即:该文件为动态配置文件,手工修改该文件时将 阅读全文
posted @ 2018-12-25 16:16 mengrennwpu 阅读(200) 评论(0) 推荐(0) 编辑
摘要:当我们在linux服务器上切换父目录时,通常使用cd ../../,有几级目录就输入几次"../",如果目录嵌套的过深,就会有点晕菜...因此,本次介绍的这款工具,可以快速的返回指定的父目录中。 1. 安装 2. 使用 还可以通过'bd <开头几个字母>',更加直接快速调至以该字母开头的目录下。注: 阅读全文
posted @ 2017-05-15 00:12 mengrennwpu 阅读(3002) 评论(0) 推荐(0) 编辑
摘要:工作中经常会遇到命令行操作数据库或登陆至其他服务器等情况,往往需要通过命令行进入相关的数据库或登陆至相关的服务器,再执行指令操作,因此有没有方法,在命令行或bash脚本中模拟进入数据库或登陆服务器操作呢?本文将对这一现状进行探讨! 1. Here Document Here document 是li 阅读全文
posted @ 2017-05-02 13:42 mengrennwpu 阅读(298) 评论(0) 推荐(0) 编辑
摘要:工作期间,每次将文件上传至ftp服务器时,均需要手工输入ip、用户名、密码等,因此,考虑编写脚本完成文件的上传任务。具体的脚本sync.sh如下: 然后将该脚本sync.sh加入环境变量,每次只需执行 sync.sh filename即可,具体的执行过程如下: 阅读全文
posted @ 2017-04-05 09:41 mengrennwpu 阅读(1199) 评论(0) 推荐(0) 编辑
摘要:工作中使用MapReduce任务导出一批含有路径的文件,共计行数300W+,需要检测文件是否在对应的服务器中存在,而文件所在的服务器并非hadoop集群的服务器,因此打算采用bash脚本进行。具体的方法如下(可直接看方法2,方法1效率较低): 2. 采用的方法 a. 方法1 原本打算使用如下脚本,进 阅读全文
posted @ 2017-01-21 14:35 mengrennwpu 阅读(1559) 评论(0) 推荐(0) 编辑
摘要:1. 基本原理: 通过hadoop fs -ls *命令获取相关文件或目录的修改时间,然后与设定的过期时间进行比较,之后执行删除操作即可 2. 相关代码: 参考:Hadoop运维-删除目录下过期的数据 阅读全文
posted @ 2016-11-29 17:32 mengrennwpu 阅读(7844) 评论(0) 推荐(2) 编辑
摘要:1. 备份概述Linux系统需要备份的数据有/root,/home,/var/spool/mail,/etc及日志等其他目录。安装服务的数据需要备份,如apache需要备份的数据有配置文件、网页主目录、日志文件;源码包安装的mysql需要备份/usr/local/mysql/data,RPM包安装的... 阅读全文
posted @ 2015-08-15 23:56 mengrennwpu 阅读(705) 评论(0) 推荐(0) 编辑
摘要:1. 系统运行级别运行级别含义0关机1单用户模式,可想象为windows的安全模式,主要用于系统修复2不完全的命令行模式,不含NFS服务3完全的命令行模式,就是标准字符界面4系统保留5图形模式6重启动(1) 运行级别命令runlevel #查看运行级别命令 N表示进入3前面的级别init 运行级别 ... 阅读全文
posted @ 2015-08-15 22:38 mengrennwpu 阅读(340) 评论(0) 推荐(0) 编辑
摘要:1. 简介(1) 日志服务在CentOS 6.x中日志服务已经由rsyslogd取代了原先的syslogd服务。rsyslogd日志服务更加先进,功能更多。但是不论该服务的使用,还是日志文件的格式其实都是和syslogd服务相兼容的,所以学习起来基本和syslogd服务一致。rsyslogd的新特点... 阅读全文
posted @ 2015-08-15 15:52 mengrennwpu 阅读(410) 评论(0) 推荐(0) 编辑
摘要:1.进程管理进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。进程管理的作用有判断服务器健康状态、查看系统中所有进程及杀死进程。一般都可以采用正确的命令终止进程,只有当终止失效时,才强制杀死进程。(1) 查看系统中所有进程① ps aux命令表示... 阅读全文
posted @ 2015-08-15 15:46 mengrennwpu 阅读(321) 评论(0) 推荐(0) 编辑
摘要:1. 服务的分类Linux服务可分为RPM包默认安装的服务和源码包安装的服务。前者可细分为独立的服务(直接作用于内存中)和基于xinetd服务。xinetd本身是独立的服务,其唯一的功能是管理其他服务。优点是管理的服务不占用内存,缺点是响应缓慢。(1) 启动和自启动服务启动就是在当前系统中让服务运行... 阅读全文
posted @ 2015-08-15 15:31 mengrennwpu 阅读(270) 评论(0) 推荐(0) 编辑
摘要:1. if语句(1) 单分支if条件语句格式为:# 注意条件判断式两端的空格if [ 条件判断式 ];then 程序员fi或者if[ 条件判断式 ] then 程序fi例:判断分区使用率#!/bin/bash#获取根分区的使用率rate=$(df -h | grep "/d... 阅读全文
posted @ 2015-08-15 13:37 mengrennwpu 阅读(268) 评论(0) 推荐(0) 编辑