systemd

journalctl 清理journal日志

柔情痞子 提交于 2020-03-18 05:19:34
在CentOS 7开始使用的systemd使用了journal日志,这个日志的管理方式和以往使用syslog的方式不同,可以通过管理工具维护。 使用 df -h 检查磁盘文件,可以看到 /run 目录下有日志目录 /run/log/journal ,占用了数G空间 Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 8.5G 4.2G 4.4G 49% / tmpfs 16G 1.6G 15G 11% /run 在日志目录下有很多历史累积的日志。 检查当前journal使用磁盘量 journalctl --disk-usage 清理方法可以采用按照日期清理,或者按照允许保留的容量清理 journalctl --vacuum-time=2d journalctl --vacuum-size=500M 如果要手工删除日志文件,则在删除前需要先轮转一次journal日志 systemctl kill --kill-who=main --signal=SIGUSR2 systemd-journald.service 要启用日志限制持久化配置,可以修改 /etc/systemd/journald.conf SystemMaxUse=16M ForwardToSyslog=no 然后重启 systemctl

Linux shell必知必会

好久不见. 提交于 2020-03-14 09:11:54
我个人很喜欢使用 Linux 系统,虽然说 Windows 的图形化界面做的确实比 Linux 好,但是对 脚本 的支持太差了。一开始有点不习惯 命令 行操作,但是熟悉了之后反而发现移动鼠标点点点才是浪费时间的罪魁祸首。那么对于 Linux 命令 行,本文不是介绍某些命令的用法,而是说明一些简单却特别容易让人迷惑的细节问题。 1、标准输入和命令参数的区别。 2、在后台运行命令在退出终端后也全部退出了。 3、单引号和双引号表示字符串的区别。 4、有的命令和sudo一起用就 command not found。 一、标准输入和参数的区别 这个问题一定是最容易让人迷惑的,具体来说,就是搞不清什么时候用管道符|和文件重定向>,<,什么时候用变量$。 比如说,我现在有个自动连接宽带的 shell 脚本 connect.sh,存在我的家目录: $ where connect.sh /home/fdl/bin/connect.sh 如果我想删除这个脚本,而且想少敲几次键盘,应该怎么操作呢?我曾经这样尝试过: $ where connect.sh | rm 实际上,这样操作是错误的,正确的做法应该是这样的: $ rm $(where connect.sh) 前者试图将where的结果连接到rm的标准输入,后者试图将结果作为命令行参数传入。

CoreOS配置Docker API TLS认证

陌路散爱 提交于 2020-03-12 12:15:52
我们经常会利用Portainer来管理docker环境,也经常会用Jenkins来自动构建和部署docker,远程管理都会使用到Docker API,通常我们只是开启了没有安全保护的2375(通常)端口,这个比较危险,会导致远程劫持攻击。那么我们就需要配置TLS认证的2376(通常)端口。 下面我们针对CoreOS系统进行配置: 一、利用系统自带的openssl生成相应的服务端和客户端证书 我们利用脚本自动生成,这样非常便捷,脚本(auto-tls-certs.sh)如下: #!/bin/bash # # ------------------------------------------------------------- # 自动创建 Docker TLS 证书 # ------------------------------------------------------------- # 以下是配置信息 # --[BEGIN]------------------------------ CODE="dp" IP="docker服务器ip" PASSWORD="证书密码" COUNTRY="CN" STATE="BEIJING" CITY="BEIJING" ORGANIZATION="公司" ORGANIZATIONAL_UNIT="Dev" COMMON_NAME="

CentOS7配置网络ip地址

半腔热情 提交于 2020-03-10 18:13:03
CentOS7配置网络ip地址 CentOS 7.x版本中没有ifcfg-eth0文件 只有ifcfg-ens33文件(为了符合日常习惯) (1)将文件ifcfg-ens33重命名为ifcfg-eth0;(root用户下) mv ifcfg-ens33 ifcfg-eth0 (2)将ifcfg-eth0文件中的NAME=ens33改为NAME=eth0 vi /etc/sysconfig/network-scripts/ifcfg-eth0 (3) #修改 BOOTPROTO=static #这里将dhcp修改成static ONBOOT=yes #这里将no修改成yes #新增 IPADDR=192.168.20.100 #静态IP GETWAY=192.168.20.1#默认网关 DNS1=192.168.20.1 NETMASK=255.255.255.0 #子网掩码 (4)重启网卡 service network restart /etc/resolv.conf nameserver 8.8.8.8 nameserver 114.114.114.114 配置主机名 1.Linux系统 (1)查看本机的主机名 hostname (2)配置主机名称 vi /etc/sysconfig/network 配置内容:NETWORKING=yes HOSTNAME=hadoop100

跟高手学习LINUX笔记-17

一个人想着一个人 提交于 2020-03-10 13:28:00
第十七章 Linux系统启动原理及故障排除 本节所讲内容: 17.1 centos系统启动过程及相关配置文件 17.1.1 centos6启动相关的配置文件 查看centos6默认系统启动级别: [root@node-2 ~]# vim /etc/inittab Default runlevel. The runlevels used are: 0 - halt (Do NOT set initdefault to this) 1 - Single user mode 2 - Multiuser, without NFS (The same as 3, if you do not have networking) 3 - Full multiuser mode 4 - unused 5 - X11 6 - reboot (Do NOT set initdefault to this) id:3:initdefault: #这里决定系统启动的级别 说明一下各个启动级别的含义 0:关机 1:单用户模式 2:多用户模式但无网络服务 3:完整多用户模式 4:暂未启用 5:图形化界面模式 6:重启 17.1.2 centos6设置服务开机启动 [root@node-2 ~]# chkconfig --list | grep sendmail sendmail 0:off 1:off 2:on

journalctl

﹥>﹥吖頭↗ 提交于 2020-03-10 10:31:32
systemd 提供了自己的日志系统(logging system),称为 journal。使用 systemd 日志,无需额外安装日志服务(syslog)。读取日志的命令: # journalctl 默认情况下(当 Storage= 在文件 /etc/systemd/journald.conf 中被设置为 auto ),日志记录将被写入 /var/log/journal/ 。该目录是 systemd 软件包的一部分。若被删除,systemd 不会 自动创建它,直到下次升级软件包时重建该目录。如果该目录缺失,systemd 会将日志记录写入 /run/systemd/journal 。这意味着,系统重启后日志将丢失。 提示: 如果 /var/log/journal/ 位于 btrfs 文件系统,应该考虑对这个目录禁用写入时复制,方法参阅 Btrfs#Copy-on-Write (CoW) 。 Systemd 日志事件提示信息的记录安装优先级和更能进行分离,符合经典的 BSD syslog 协议风格( 维基百科 , RFC 5424 )。 过滤输出 journalctl 可以根据特定字段过滤输出。如果过滤的字段比较多,需要较长时间才能显示出来。 示例: 显示本次启动后的所有日志: # journalctl -b 不过,一般大家更关心的不是本次启动后的日志,而是上次启动时的(例如

systemd 之 journalctl

二次信任 提交于 2020-03-10 10:29:56
Systemd 日志系统 一、前言 昨天写了一篇文章,内容为: Systemd 常规操作与彩蛋 ,参考了 ArchLinux 官方文档并结合培训中的思路进行了部分修改补充。如果你懂得了基础的管理,那必然还需要做维护和审计。这时候就需要 Redhat7 中的 systemd 架构下的—— systemd-journald 。 下有俩例子对比 init.d 和 systemd : service daemon ---> rsyslog ---> /var/log systemd --> systemd-journald --> ram DB --> rsyslog -> /var/log 当 systemd 启动后, systemd-journald 也会立即启动。将日志存入RAM中,当 rsyslog 启动后会读取该RAM并完成筛选分类写入目录 /var/log 。所以牵扯到DB,操作就会很舒服。 二、基础知识 描述RHEL7的基本系统日志(syslog)架构 进程和操作系统内核需能够为发生的事件记录日志 日志内容可用于系统审计和故障排除 默认日志存储在 /var/log 目录中 RHEL的日志系统基于 syslog 协议,许多程序使用此系统记录事件,并将齐整理到日志 文件中 RHEL7的日志系统由 systemd-journald 和 rsyslog 两服务组成 systemd

Nginx基础

时光毁灭记忆、已成空白 提交于 2020-03-09 13:06:10
第一章 Nginx介绍 Nginx是什么? Nginx 是一个开源且高性能、可靠的 Http Web 服务、代理服务。 开源: 直接获取源代码 高性能: 支持海量并发 可靠: 服务稳定 我们为什么选择 Nginx 服务 Nginx 非常轻量 功能模块少 (源代码仅保留 http 与核心模块代码,其余不够核心代码会作为插件来安装) 代码模块化 (易读,便于二次开发,对于开发人员非常友好) 互联网公司都选择 Nginx 1.Nginx 技术成熟,具备的功能是企业最常使用而且最需要的 2.适合当前主流架构趋势, 微服务、云架构、中间层 3.统一技术栈, 降低维护成本, 降低技术更新成本。 Nginx重要特性 Nginx 采用 Epool 网络模型, Apache 采用 Select 模型 Select: 当用户发起一次请求, select 模型就会进行一次遍历扫描,从而导致性能低下。 Epool: 当用户发起请求, epool 模型会直接进行处理,效率高效,并无连接限制 Nginx应用场景 第二章 Nginx安装部署 Nginx分为几种: 1.源码编译(1.版本随意 2.安装复杂 3.升级繁琐) 2.epel仓库(1.版本较低 2.安装简单 3.配置不易读) 3.官方仓库(1.版本较新 2.安装简单 3.配置易读,推荐) 下面分别介绍编译安装和yum安装方法 1.编译安装方法

SaltStack 自动化运维实战

∥☆過路亽.° 提交于 2020-03-09 11:56:44
最新版实战 Latest release: 3000 (February 10, 2020) 参考saltStack官方文档 ON THE SALT MASTER Run these commands on the system that you want to use as the central management point. curl -L https://bootstrap.saltstack.com -o install_salt.sh sudo sh install_salt.sh -P -M Your Salt master can manage itself, so a Salt minion is installed along with the Salt master. If you do not want to install the minion, also pass the -N option. ON EACH SALT MINION Run these commands on each system that you want to manage using Salt. curl -L https://bootstrap.saltstack.com -o install_salt.sh sudo sh install_salt.sh -P

docker-ce配置镜像加速和信任私有仓库

柔情痞子 提交于 2020-03-08 09:42:43
一、docker镜像加速和信任私有仓库 1.配置docker-ce镜像加速和信任私有仓库harbor.hiibm.com cat > /etc/docker/daemon.conf <<EOF { "registry-mirrors": ["https://ofjd111b.mirror.aliyuncs.com"], "insecure-registries": ["harbor.hiibm.com"]" } EOF 2.修改/usr/lib/systemd/system/docker.service文件 将ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock 修改为【ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry=harbor.hiibm.com】 3.重启docker systemctl daemon-reload systemctl restart docker 二、如果启动docker报错 [root@harbor system]# systemctl status docker.service ● docker