陈志军

物来顺应,未来不迎,当时不杂,既过不恋


  • 首页

  • 分类

  • 归档

  • 标签

  • 搜索

Linux cron clean log files older than N days

发表于 2018-10-29 | 分类于 Linux | 阅读次数

使用linux crontab定时清理n天前的日志文件

最近有个需求,需要在linux机器上定时执行清理n天前的日志文件。其实我开始做了个更有意思的清理工具,根据alertmanager做webhook,然后在每个Linux机器上开启一个agent,收到请求再执行清理。不过使用crontab也是一个非常有用的工具。

crontab是Linux的一个守护进程,定时执行的工具。详细的内容可以使用man crontab查看。废话不多说,直接来看怎么使用它。只有用起来,才是属于自己的。

阅读全文 »

conclusion-201809

发表于 2018-09-08 | 阅读次数

1: linux命令行替换文本中的字符串。sed -i "s/100.69.224.18:10099/100.69.224.27:9999/g" /file.xml

2: rancher平台的相关监控。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
mysql:

获取mysql用户是否可以远程登陆
CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'exporter';
GRANT PROCESS, REPLICATION CLIENT ON *.* TO 'exporter'@'localhost';
GRANT SELECT ON cattle.* TO 'exporter'@'%' with MAX_USER_CONNECTIONS 3;
help flush;
show grants for 'exporter'@'localhost';
flush PRIVILEGES;

docker run -d -p 9104:9104 -e DATA_SOURCE_NAME="exporter:exporter@(127.0.0.1:3306)/" prom/mysqld-exporter:latest

haproxy:

docker run -d -p 9101:9101 prom/haproxy-exporter:latest --haproxy.scrape-uri="http://www.haproxy.com/haproxy?stats;csv"


3: sort 根据低三列排序

docker stats -a –no-stream |awk ‘{print $1,$8,$3,$4}’|sort -k 2,4n

sort -k a,bn
a为第几列,b为几个字符,n为数字比较,1234,1222,从第一个字符开始,到第四个字符都会比较

4: 给基础镜像安装常用工具:ping,curl,wget,netstat。一般源里面就已经包含了,ping的源为:apt install inetutils-ping或者 apt install net-tools

5:某次给rancher平台扩容,直接将主机加上之后,将原来的应用直接*2启动,平台爆掉了。server不到。

linux 挂载磁盘

发表于 2018-07-26 | 分类于 Linux | 阅读次数

linux 挂载磁盘

最近需要挂载磁盘,记录一下。

一个500G的磁盘。使用fdisk查看,如果没有就使用lsblk可以查看到现在有哪个磁盘没有挂载。

之后就是挂载操作了。切换成root用户,查看磁盘使用的卷类型:ext4 , xfs

阅读全文 »

Windows使用sshkey连接GitHub

发表于 2018-07-17 | 分类于 ssh | 阅读次数

Windows使用sshkey连接GitHub

经常连接github上传东西,经常push的时候需要输入用户名和密码。下面是使用ssh-key免密的方式访问自己的github仓库。

首先在本地生成ssh-key:

进入到~/,用户根目录,查看.ssh文件夹是否有相关的公钥私钥
如果没有新生成:

1
ssh-keygen -t rsa -C "xxx@yy.com"

之后再打开~/.ssh/id_rsa.pub拿到公钥内容,复制所有内容;

在github找到设置,add-sshkey,新建一个ssh-key。将内容粘贴进去。

之后再本地的git仓库下使用:

ssh -T git@github.com

进行验证。

使用Ansible批量操作服务器

发表于 2018-07-16 | 分类于 Linux | 阅读次数

使用Ansible批量操作服务器

Anbible 是干嘛的?对于一个非专业运维人士(我)来说,它就是我批量操作服务器的一个神器。试想一个场景:公司内部DNS还未搭建好,业务系统使用了域名做请求,这个时候需要你将域名制定到某台机器上,你这个时候就只能修改hosts文件了。嗯,如果是一两台服务器就算了,大不了手动ssh上去改一改,但是如果是10台了?10台不够,100台了?这个时候怎么办?你可能说我召集了一帮兄弟,大家一人改几个。OK,好不容易你改完了,这个时候业务跟你说,嗯,那台服务器挂了,不稳定,暂时换到另一台服务器上另一个IP地址。兄弟,听说醉经淘宝刀打折,买一把吧。哈哈

但是如果这个时候我们使用ansible,这个时候你就可以早点干完,早点回家陪老婆孩子了。接下来我们看看怎么使用ansible,请注意,我只是说怎么使用,是的,怎么使用,没有任何理论,不会讲解任何深的东西,只是用而已。

阅读全文 »

2018-06月至07月的一些总结

发表于 2018-07-16 | 分类于 总结 | 阅读次数

2018-06月至07月的一些总结

最近好久都没有写博客了。其实最近做的事情都比较单调,就是迁移环境,不过再迁移环境中,我还是收获了很多我缺少的。单从非技术方面,我缺少勉才的那股韧劲(问题不会过夜),缺少华哥那种细致(仔细的做过一遍,还会仔细的检查一遍,不是那种大致检查,是那种一条一条的比对),当然我也看到有些同事的缺点也是我的缺点,有则改之。

在搬迁中,华哥是我们部的总负责人,他对所有的事情都会有把控,搞不定的事情都会找他。而且他总能找到合适的方法解决。最重要的是,我犯错他却从来没有指责过,只是说怎样弥补,然后跟我们说正确的方法,而后我觉得挺对不住他的。总会想着把事情再做好点。勉才是小组的执行人,执行人真的超级强,问题基本没过夜,总是在12点的时候或者第二天一早问他,他就说问题解决了。。简直了。

这次搬迁我们是轮值的,也就是一开始将所有任务分配好,然后各自自己实验一次,写下步骤,下一轮再给另一个人按照写的步骤实行一次,这样来回3轮。最后基本上,步骤文档就没啥问题了。任何人都可以按照文档完整的搭出系统。

阅读全文 »

最近总结-2018-07-16

发表于 2018-07-16 | 分类于 总结 | 阅读次数

最近总结-2018-07-16

最近公司机房搬迁,大大小小演练,解决问题搞了差不多一个月。在以前的公司其实从来没有遇到过应用搬迁的事情。那个时候还是个开发写代码的。可能有搬迁也不需要我来帮忙,但是这次公司搬迁,从前到后。基本上全程参与。只有一个感受,那就是真的是严谨的要命。

1:演练

搬迁之前,我们内部就演练了3次,之后申请搬迁后的资源又演练一次,每一次都做了详尽的记录,细微到每一条命令是怎么敲,可以说,拿到文档,就算你啥也不会,你也可以完成。为啥这么细微了,因为有一部分是我的写的文档,写了之后,在下一轮测试演练,拿给别的同事做我的部分。发现他尽然无法完成。这个时候发现,原来我认为的简单,在别人那里是那么复杂。

阅读全文 »

DNS 服务器搭建

发表于 2018-06-09 | 阅读次数

搭建公司内部DNS服务器

平常有很多时候可能会通过改hosts文件的方式来访问自定义的某个域名,但仅限于单机而已。如果能用dns解析的方式来统一管理那将会很方便。

搭建 DNS 服务器

实验基于centos7实践。切换到root用户(以下所有操作都在root下执行):

  1. 安装软件:

我们使用dns软件 bind9 系列安装包。

yum -y install bind*

安装后的部分日志:

1
2
3
4
5
6
7
8
9
10
11
12
Installed:
bind.x86_64 32:9.9.4-61.el7 bind-chroot.x86_64 32:9.9.4-61.el7 bind-devel.x86_64 32:9.9.4-61.el7
bind-dyndb-ldap.x86_64 0:11.1-4.el7 bind-libs.x86_64 32:9.9.4-61.el7 bind-lite-devel.x86_64 32:9.9.4-61.el7
bind-pkcs11.x86_64 32:9.9.4-61.el7 bind-pkcs11-devel.x86_64 32:9.9.4-61.el7 bind-pkcs11-libs.x86_64 32:9.9.4-61.el7
bind-pkcs11-utils.x86_64 32:9.9.4-61.el7 bind-sdb.x86_64 32:9.9.4-61.el7 bind-sdb-chroot.x86_64 32:9.9.4-61.el7
bind-utils.x86_64 32:9.9.4-61.el7

Dependency Installed:
postgresql-libs.x86_64 0:9.2.23-3.el7_4

Updated:
bind-libs-lite.x86_64 32:9.9.4-61.el7 bind-license.noarch 32:9.9.4-61.el7
阅读全文 »

最近遇到的小问题总结-2018522

发表于 2018-05-22 | 分类于 problem | 阅读次数

最近遇到的小问题总结-2018522

  1. Excel将两列合并成一列:=CONCATENATE()

  2. linux统计文件,原文链接:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
统计某文件夹下文件的个数
ls -l |grep "^-"|wc -l

统计某文件夹下目录的个数
ls -l |grep "^d"|wc -l

统计文件夹下文件的个数,包括子文件夹里的
ls -lR|grep "^-"|wc -l

如统计/home/han目录(包含子目录)下的所有js文件则:
ls -lR /home/han|grep js|wc -l 或 ls -l "/home/han"|grep "js"|wc -l

统计文件夹下目录的个数,包括子文件夹里的
ls -lR|grep "^d"|wc -l
  1. linux sort的一些用法:
1
2
3
4
5
6
7
8
9
10
11
去除重复行
sort file |uniq

查找非重复行
sort file |uniq -u

查找重复行
sort file |uniq -d

统计
sort file | uniq -c
  1. 什么是linux vip:https://www.zhihu.com/question/67682565,https://www.novell.com/documentation/bcc/bcc11_admin_nw/data/bq7ucwl.html。

  2. Linux scp命令,上传或下载文件

复制本地文件到远程服务器:scp local_file remote_username@remote_ip:remote_folder;
例如:scp /home/chen/file.md chen@192.168.1.1:/home/chen/test.md

复制远程文件到本地:scp remote_username@remote_ip:remote_folder local_file
例如:scp chen@192.168.1.1:/home/chen/test.md /home/chen/file.md

  1. 修改文件所属用户和组信息

chown username:usergroup /path/to/file

  1. 修改文件权限: ugo,a
    user,group,other,all

chmod a+x /path/to/file

chmod u+w /path/to/file

  1. linux 查看ip:
1
2
3
ip addr
ifconfig
hostname -I
  1. 解压缩文件:
1
2
3
解压文件:tar -zvxf xxx.tar.gz

压缩文件: tar -zvcf xxx.tar.gz /path/to/file/tozip
  1. vim 一些操作
1
2
3
4
5
6
7
8

vim 全文件内替换 : :%s/old/new/g
当前行替换::s/old/new/g


vim 打开多个文件: split/vsplit
文件切换ctrl w w, 获取CTRL w (上下左右或者jkhl),CTRL F6 6

  1. docker 删除容器状态为exited的容器:

docker rm -v $(docker ps -aq -f status=exited)

  1. 删除所有none的tag的镜像

docker images |grep none |awk '{print $3}'|xargs -i docker rmi {}

  1. idea重置配置文件。

D:\Users\chenzj001.IntelliJIdea2018.1 删除这个文件就好了,全部重置。也可以只删除config。
windows找到用户–>.i

也就是在用户目录下,删除.IntelliJIdea2018

  1. windows 查找端口占用进程
1
2
3
netstat -aon|findstr "端口号"

tasklist|findstr “端口号”

shell 脚本学习

发表于 2018-05-13 | 分类于 Linux | 阅读次数

shell 脚本学习

shell 脚本在linux上可以说是非常有用的一个工具,它就是linux命令的一个集合,所以写好shell脚本的关键一部分就是对linux命令比较熟悉。

本博客是在图书馆借阅shell相关脚本学习书记做的一个简单笔记。

shell 脚本的创建与执行

一般我们在linux中创建的shell脚本都是以.sh为结尾的,这其实不是说一定要用sh结尾才行,只是大家约定习俗的一个习惯而已。
在shell文件的第一行,通常是#!/bin/bash,表示该脚本使用bash语法。#是shell脚本中的注释。通常自定义的脚本我通常习惯放在/usr/local/bin目录下,关于bin,sbin,/usr/bin,/usr/local/bin等的区别

现在我们创建第一个脚本first.sh:

1
2
#!/bin/bash
echo "Hello,world"
阅读全文 »
1…789…18

180 日志
41 分类
70 标签
RSS
GitHub GitEE
推荐阅读
  • 陈志军的个人站
© 2017 - 2023 陈志军
由 Hexo 强力驱动
主题 - NexT.Muse