Linux
linux
IT_狂奔者
当你感到悲哀痛苦时,最好是学些什么东西;学习会使你永远立于不败之地。
展开
-
四种方法批量修改linux目录权限为755文件为644
四种方法批量修改linux目录权限为755文件为644转载 2023-09-22 04:55:14 · 1369 阅读 · 0 评论 -
OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will l
问题:OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.经过查资料,解决办法是修改jvm.options文件配置 将 -XX:+UseConcMarkSweepGC 改为 -XX:+UseG1GC...原创 2021-08-18 15:34:24 · 3549 阅读 · 0 评论 -
Centos7 系统登录密码忘记解决方法
1.首先请开启系统,按住esc键2.请根据提示按e键,进入编辑选项3.请在"UTF-8"行编辑修改两处,请将ro改为rw,即只读改为可读写权限,然后在尾部加入 init=/bin/sh4.此时可以按住Ctrl+x快捷键进入系统拯救模式5.接着修改root用户的新密码为ABC123456,修改命令如下echo "123456"|passwd --stdin root6.若密码修改成功后会有如下提示:7.接下来输入如下命令更新系统信息8.输入下面的命令来重启系统相当于在系统命令行里原创 2021-06-04 17:11:07 · 9554 阅读 · 13 评论 -
一文搞懂蓝绿发布、灰度发布和滚动发布
应用程序升级面临最大挑战是新旧业务切换,将软件从测试的最后阶段带到生产环境,同时要保证系统不间断提供服务。长期以来,业务升级渐渐形成了几个发布策略:蓝绿发布、灰度发布和滚动发布,目的是尽可能避免因发布导致的流量丢失或服务不可用问题。一、 蓝绿发布项目逻辑上分为AB组,在项目系统时,首先把A组从负载均衡中摘除,进行新版本的部署。B组仍然继续提供服务。当A组升级完毕,负载均衡重新接入A组,再把B组从负载列表中摘除,进行新版本的部署。A组重新提供服务。最后,B组也升级完成,负载均衡重新接入B组,此时原创 2021-05-06 18:17:52 · 417 阅读 · 0 评论 -
IT运维面试问题总结
IT运维面试问题总结Linux基础简述Linux主流的发行版?Redhat、CentOS、Fedora、SuSE、Debian、Ubuntu、FreeBSD等。简述Linux启动过程?⑴开机BIOS自检,加载硬盘。⑵读取MBR,MBR引导。⑶grub引导菜单(Boot Loader)。⑷加载内核kernel。⑸启动init进程,依据inittab文件设定运行级别。⑹init进程,执行rc.sysinit文件。⑺启动内核模块,执行不同级别的脚本程序。⑻执行/etc/rc.d/rc..转载 2021-04-28 13:52:32 · 10624 阅读 · 4 评论 -
Linux shell:echo显示彩色字体
shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e格式: echo -e “\033[字背景颜色;字体颜色m字符串\033[0m”例如:echo -e "\033[41;36m 人生苦短,我学python \033[0m" 其中41的位置代表底色, 36的位置是代表字的颜色注: 1、字背景颜色和文字颜色之间是英文的"" 2、文字颜色后面有个m 3、字符串前后可以没有空格,如果有的话,输出也是同样有空格 下面是相应的字和背景颜色,可以自己来尝试找原创 2021-04-22 17:32:21 · 876 阅读 · 0 评论 -
centos6.5安装Node.js时,gcc、glibc版本过低升级
目录一、Node.js安装1.下载node2.解压后安装3.检查nodejs安装是否成功4.出错原因是系统自带的gcc、glibc版本过低二、升级gcc1.安装编译环境2.下载gcc3.解压4.自动安装依赖5.编译安装6.修改软链三、升级glibc1.下载glibc2.解压3.编译安装一、Node.js安装1.下载nodewget https://nodejs.org/dist/v12.16.1/node-v12.16.1-lin转载 2021-03-26 16:55:11 · 2409 阅读 · 1 评论 -
linux下安全基线配置
目录1.基线2.基线扫描3.基线加固自动化脚本的编写1.检查是否设置口令更改最小间隔天数2.检查是否设置口令过期前警告天数3.检查口令生存周期4.检查口令最小长度5.检查是否设置grub,lilo密码6.检查是否设置core7.检查系统是否禁用ctrl+alt+del组合8.检查保留历史记录文件的大小与数量9.检查是否使用PAM认证模块禁止wheel组之外的用户su为root10.检查是否删除了/etc/issue.net文件11.是否删除与设备运行.转载 2021-03-09 17:22:33 · 5366 阅读 · 0 评论 -
Linux时间戳与日期相互转换
1.用时间戳显示当前时间:date+%s# date +%s16145919602.将时间戳转换成日期时间:date -d @1614591901# date -d @16145919012021年 03月 01日 星期一 17:45:01 CST3.转换指定日期为时间戳:2021-03-01 17:49:23# date -d '2021-03-01 17:49:23' +%s16145921634.指定日期格式转换:date -d @1614592163 +"...原创 2021-03-01 17:51:07 · 9412 阅读 · 0 评论 -
This account is currently not available
在linux中使用su切换到nginx账号的时候出现了This account is currently not available的错误提示。使用grep nginx /etc/passwd查看用户权限$ grep nginx /etc/passwdnginx:x:997:995:nginx user:/var/cache/nginx:/sbin/nologinBash复制这里可以看出,nginx是/sbin/nologin禁止登录的。只要修改这个模式就可以了$ usermod -原创 2021-02-05 18:57:06 · 328 阅读 · 0 评论 -
certbot-auto报错,无法更新证书解决
在使用Let’s Encrypt 的免费证书后,需要每三个月更新一次证书,到期需要重新更新续签。今天发现网站证书失效,查看续签日志提示如下错误Upgrading certbot-auto 1.10.1 to 1.11.0...Couldn't download https://raw.githubusercontent.com/certbot/certbot/v1.11.0/letsencrypt-auto-source/letsencrypt-auto. <urlopen error [Er原创 2021-02-01 15:09:57 · 812 阅读 · 0 评论 -
linux复制文件夹中前N个文件到其他目录下
linux复制文件夹中前N个文件到其他目录下方法一:指令指令需要在源文件夹路径下运行ls |head -n N |xargs -i cp {} /data/bertram/test注:N指前n行如果目录下还有其他文件夹,则需递归方式(-r)进行拷贝,否则会报错方法二:shell解决#!/bin/bashsrcdir="/data/bertram/tinypng"dstdir=/"/data/bertram/test"N=10for i in "${srcdir}"/*;原创 2021-01-27 11:34:30 · 1011 阅读 · 0 评论 -
linux环境启动tomcat时报:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
今天用jenkins自动打包,tomcat启动报如下错误:解决思路:刚开始我以为我的jdk环境变量没有配置好,就去检查了我的jdk环境配置:没啥问题,然后查看了jdk 的版本信息 (java -version)最后上网查找了一下,需要手动在tomcat/bin/catalina.sh文件里声明jdk的环境变量可以解决。解决方法:需要在catalina.sh中添加jdk的环境变量vim catalina.shexport JAVA_HOME=/usr/local/jdkex原创 2020-07-06 17:38:52 · 936 阅读 · 0 评论 -
NFS 客户端机执行“df -hT“命令卡死(没有反应)
问题描述:NFS服务端意外断开,导致挂载的客户端“df -Th”命令无法使用,及挂载目录无法"cd"、"ls"等命令该文件夹中有一个共享目录挂载在该文件夹某一目录下,因突然关机等异常情况导致该服务无限制等待,机器重启后也不能正常连接☆ 有两台服务器,其中一台向另一台通过nfs共享分区,如下:server A: nfs serverserver B: nfs Client解决思路:1、强制取消客户端挂载2、重启NFS服务,客户端和服务端都需要重启3、重新挂载NFS处理方法:1原创 2020-07-07 10:56:36 · 2215 阅读 · 0 评论 -
解决“正在连接 raw.githubusercontent.com|151.101.228.133|:443... 失败:拒绝连接”的方法
错误非常常见,主要是系统过于精简所以很多包没有安装第一种解决方法在wget后面添加"–no-check-certificate"如下所示:# wget --no-check-certificate 你要下载的SSL网址第二种解决办法安装ca-certificates# yum install ca-certificates -y或者是w# yum install ssl-cert -y以上如果还不好使,用如下方法一试:进入网站:查询网输入raw.githubuserconte.原创 2020-07-15 17:31:13 · 6168 阅读 · 14 评论 -
CentOS yum有时出现“Could not retrieve mirrorlist ”的解决办法
安装报错如下:[root@centos-02 ~]# yum -y install vim lrzsz 已加载插件:fastestmirrorLoading mirror speeds from cached hostfileCould not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was14: curl#6 -.原创 2020-08-07 17:00:34 · 17953 阅读 · 6 评论 -
Linux MySQL重置root密码,刷新权限表报错ERROR 1146(42S02):Table ‘mysql.servers’ doesn`t exist
异常如下:报如上图所示错误,然而到mysql库中,看servers表还能看到,运行网上的解决方案直接创建servers表依然报错无法解决。后来发现一个解决方案如下:1、drop table if existsmysql.servers;2、运行表创建脚本CREATE TABLE `servers` ( `Server_name` char(64) NOT NULL, `Host` char(64) NOT NULL,`Db` char(64)...原创 2020-08-10 15:34:38 · 760 阅读 · 6 评论 -
MySQL 跨版本主从复制时报错:ERROR 1794 (HY000): Slave is not configured or failed to initialize properly.
背景:做主从同步,stop slave;报如下错误ERROR 1794 (HY000): Slave is not configured or failed to initialize properly. You must at least set --server-id to enable either a master or a slave. Additional error messages can be found in the MySQL error log.解决方法:drop 备原创 2020-08-10 16:39:37 · 5595 阅读 · 13 评论 -
linux命令df 中df -hT和df -ih的区别及磁盘爆满的解决方法
df 命令:linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。1.df -hT 和df -ih的区别如下df -TH 查看磁盘大小,解决:删除比较大无用的文件df -ih 查看inode:文件的字节数,拥有者id,组id,权限,改动时间,链接数,数据block的位置,解决:删除数量过多的小文件2.linux inode已满解决方法服务器tomcat启动起不来,而且连接到服务器上开启服务原创 2020-08-20 13:44:53 · 14220 阅读 · 1 评论 -
Shell 中用 echo 输出变量丢失换行符的问题
bash脚本要输出变量的时候,经常遇到有换行的情况。我们可以人为的决定是否需要换行等特殊字符例如:如下使用变量输出过滤sql线程的状态,加双引号与不加的区别。# STATUS=$(mysql -uroot -p123456 -e "show slave status\G" | grep -i "running:")mysql: [Warning] Using a password on the command line interface can be insecure.# echo $ST.原创 2020-08-28 17:37:03 · 2476 阅读 · 0 评论 -
报错:ImportError: libmysqlclient.so.20: cannot open shared object file: No such file or directory
启动jumpserver报错ImportError: libmysqlclient.so.20: cannot open shared object file: No such file or directory。查找这个libmysqlclient.so.20库文件,由于本机之前部署了mysql,所以可以查到这个文件(如果没有的话,可以安装mysql来获取这个文件)(py3) [root@centos-02 jumpserver]# find / -name libmysqlclient.s..原创 2020-08-31 10:27:42 · 2706 阅读 · 0 评论 -
关闭提示“您在 /var/spool/mail/root 中有新邮件”
执行exit后提示您在 /var/spool/mail/root 中有邮件,用了以下代码后执行了好几次exit终于退出了,今天一直用普通用户和root切换,还删了一些东西 也不知道是什么原因。反正也不经常查看系统自动生成的邮件或是想查看的时候使用命令查看,不用自动提示。要想关闭linux系统的邮件功能自动提示非常简单,只需要运行以下命令就可以:[root@spider ~]# echo "unset MAILCHECK">> /etc/profile[root@spider..原创 2020-09-08 18:14:56 · 1394 阅读 · 0 评论 -
linux 定时任务,每小时执行一次
每小时执行一次为 0 */1 * * * 这种写法。注意的是,很容易粗心写成 * */1 * * * 这种写法,代表每隔一小时每一分钟都执行一次其他例子:crontab每分钟定时执行:*/1 * * * * service mysqld restart //每隔1分钟执行一次*/10 * * * * service mysqld restart //每隔10分钟执行一次crontab每小时定时执行:0 */1 * * * service mysqld restar...原创 2020-09-14 13:42:07 · 28271 阅读 · 2 评论 -
解决更新https ssl证书时卡住Installing Python packages...问题
网站部署https我使用的是Let's Encrypt SSL免费证书,有效期3个月,需要定期更新。今天在更新ssl证书时,卡在Installing Python packages不动,如下图:一直处于等待状态!!我用的是阿里云的ECS服务器centos7.8 x64。解决这个问题十分简单,只需要修改下pip.conf文件即可。方法如下:将阿里云的镜像改为清华的镜即可。vim ~/.pip/pip.conf[global]index-url=https://pypi.tuna.t原创 2020-11-27 15:40:35 · 620 阅读 · 0 评论 -
linux下分析java程序占用内存、CPU过高
内存过高分析使用pmap查看进程内存命令格式:pmap 进程id第一列。内存块起始地址第二列。占用内存大小第三列,内存权限第四列。内存名称。anon表示动态分配的内存,stack表示栈内存最后一行。占用内存总大小,请注意,此处为虚拟内存大小,占用的物理内存大小能够通过top查看使用jmap查看Java进程对象使用情况命令格式:jmap -histo 进程id第一列,序号。第二列,对象实例数量第三列,对象实例占用总内存数。单位:字节第四列,对象实例名称最.原创 2020-12-22 10:20:31 · 4543 阅读 · 0 评论 -
linux突然所有命令都失效了
今天在设置环境变量时,一不小心,配置错了,系统中的所有命令全部失效了解决的方式有两种。其一:直接在linux命令行界面输入如下,然后回车(导入环境变量,以及shell常见的命令的存放地址):export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin其二:如果系统所有命令都不能使用时,还可以使用绝对命令vi打开profile/bin/vim /etc/profile在系统的配置文件里添加.原创 2021-01-13 14:12:30 · 7082 阅读 · 3 评论 -
chromedriver与chrome各版本对照及下载
谷歌浏览器 chrome 下载地址谷歌驱动 chromeDriver 下载地址linux下chrome和chromedriver的安装1、安装chrome用下面的命令安装最新的 Google Chrome# yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm也可以下载到本地再安装# wget https://dl.google.com/linux/direct/goo原创 2020-07-08 10:21:48 · 4948 阅读 · 0 评论 -
Linux下一键直达目录才是终极神器—autojump
autojump是什么?autojump是一个命令行工具,它允许你可以直接跳转到你喜爱的目录,而不受当前所在目录的限制。意思就是可以让你更快地切换目录,而不用频繁地使用cdtab等命令。下载安装 autojump# git clone git://github.com/joelthelion/autojump.git# cd autojump# ./install.py根据上面./install.py安装提示如下,将内容加入到.bashrc的末尾Please manuall..原创 2020-09-23 11:15:42 · 2967 阅读 · 0 评论 -
Linux相关使用技巧
分享一些关于运维工作中一些快捷使用小技巧1.快速跳转命令 - z我们在工作中常做来回重复的工作,每次都要进入一个目录很深的文件夹下,像下面这样:[root@linux ~]# cd /usr/local/zookeeper/zookeeper-recipes/zookeeper-recipes-queue/每次都要输入好多个目录名是不是很烦躁,下面有一个非常方便的操作可以取代它 一 z 命令:z的源码:源码地址你只需要把源码 z.sh 文件复制到用户目录下,然后...原创 2020-08-16 18:47:27 · 276 阅读 · 0 评论 -
一键实现自动化部署(灰度发布)实践
在过去几年的DevOps的浪潮中,自动化、持续集成这两个概念早已深入人心(互联网技术人)。比尔盖茨先生曾经都说过:“任何技术在一个业务中使用的第一条规则就是,将自动化应用到一个高效的操作上将会放大高效。第二条就是自动化应用到一个低效操作上,则放大了低效率。”自动化部署也逐渐成为各中小型企业追求的方向,那么,就自动化部署的概述、自动化部署的工具、自动化部署的流程、自动化部署实践等4个方面,与大家一同来讨论、交流一下关于中小企业自动部署的问题。文章目录1、自动化部署概述1.1 什么是自动化部.转载 2020-09-29 11:03:23 · 1748 阅读 · 2 评论 -
Linux批量修改多台服务器的主机名
目录概述操作过程批量修改主机名1.添加modif_hostname.sh 文件2.把生成的这两个文件(host与modif_hostname.sh)通过pscp工具发送到所有的服务器上任意的同一目录下3.通过pssh工具,批量给予modif_hostname.sh这个文件的可执行权限4.通过pssh工具,批量执行modif_hostname.sh文件概述一个环境下有非常多的服务器时,每台服务器的Hostname都不一样,有成千上百台服务器,如果通过ssh的方式逐...原创 2020-12-03 18:27:12 · 1461 阅读 · 0 评论