Linux计划任务没有正常执行

1、查看日志,报错如下: May 25 15:50:01 localhost crond[42423]: (root) FAILED to authorize user with PAM (Authentication token is no longer valid; new one required) May 25 15:51:01 localhost crond[43791]: (root) PAM ERROR (Authentication token is no longer valid; new one required) 2、查找原因,可能为密码过期 查看密码过期时间 [root@localhost log]# chage -l root Last password change : Feb 21, 2022 Password expires : May 22, 2022 Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 90 Number of days of warning before password expires : 7 今天25日,22日就过期了...

2022-05-25 · 1 分钟

GVM升级后启动异常处理

1. Kali升级 apt-get update apt-get dist-upgrade 2. 升级完成后,启动GVM(OpenVas)发现打不开 oot@Fkali:~# gvm-start [*] Please wait for the GVM / OpenVAS services to start. [*] [*] You might need to refresh your browser once it opens. [*] [*] Web UI (Greenbone Security Assistant): https://127.0.0.1:9392 Job for gvmd.service failed because a timeout was exceeded. See "systemctl status gvmd.service" and "journalctl -xe" for details. 3. 按照要求检测原因 oot@Fkali:~# systemctl status gvmd.service ● gvmd.service - Greenbone Vulnerability Manager daemon (gvmd) Loaded: loaded (/lib/systemd/system/gvmd....

2022-05-13 · 10 分钟

Docker容器日志查看与清理

1. 问题 docker容器日志导致主机磁盘空间满了。docker logs -f container_name噼里啪啦一大堆,很占用空间,不用的日志可以清理掉了。 2. 解决方法 2.1 找出Docker容器日志 在linux上,容器日志一般存放在/var/lib/docker/containers/container_id/下面, 以json.log结尾的文件(业务日志)很大,查看各个日志文件大小的脚本docker_log_size.sh,内容如下: #!/bin/sh echo "======== docker containers logs file size ========" logs=$(find /var/lib/docker/containers/ -name *-json.log) for log in $logs do ls -lh $log done # chmod +x docker_log_size.sh # ./docker_log_size.sh 2.2 清理Docker容器日志(治标) 如果docker容器正在运行,那么使用rm -rf方式删除日志后,通过df -h会发现磁盘空间并没有释放。原因是在Linux或者Unix系统中,通过rm -rf或者文件管理器删除文件,将会从文件系统的目录结构上解除链接(unlink)。如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用。正确姿势是cat /dev/null > *-json.log,当然你也可以通过rm -rf删除后重启docker。接下来,提供一个日志清理脚本clean_docker_log.sh,内容如下: #!/bin/sh echo "======== start clean docker containers logs ========" logs=$(find /var/lib/docker/containers/ -name *-json....

2022-05-06 · 1 分钟

Nginx Stream日志设置

nginx自1.9.0开始提供tcp/udp的反向代理功能,直到1.11.4才开始提供session日志功能。 启用stream日志配置文件 主配置文件/etc/nginx/nginx.conf增加内容: stream { log_format proxy '$remote_addr [$time_local] ' '$protocol $status $bytes_sent $bytes_received ' '$session_time "$upstream_addr" ' '"$upstream_bytes_sent" "$upstream_bytes_received" "$upstream_connect_time"'; access_log /var/log/nginx/tcp-access.log proxy ; open_log_file_cache off; include /etc/nginx/conf.d/*.stream; } 具体的tcp.stream配置文件 upstream TCP59001 { hash $remote_addr consistent; server 192.168.1.176:59001; } server { listen 59001; proxy_connect_timeout 5s; proxy_timeout 30s; proxy_pass TCP59001; } nginx重读配置并检查tcp session日志的生成 nginx重读配置 nginx -s reload 检查日志 tail /var/log/nginx/tcp-access.log 192.168.3.218 [25/Apr/2017:17:55:57 +0800] TCP 200 103 122 10.671 "192.168.1.176:59001" "122" "103" "0....

2022-04-27 · 1 分钟

Docker Compose教程

1.Compose介绍 Docker Compose是一个用来定义和运行复杂应用的Docker工具。一个使用Docker容器的应用,通常由多个容器组成。使用Docker Compose不再需要使用shell脚本来启动容器。 Compose 通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,非常适合组合使用多个容器进行开发的场景。 2.Compose和Docker兼容性 compose文件格式版本 docker版本 3.4 17.09.0+ 3.3 17.06.0+ 3.2 17.04.0+ 3.1 1.13.1+ 3.0 1.13.0+ 2.3 17.06.0+ 2.2 1.13.0+ 2.1 1.12.0+ 2.0 1.10.0+ 1.0 1.9.1.+ Docker版本变化说明: Docker从1.13.x版本开始,版本分为企业版EE和社区版CE,版本号也改为按照时间线来发布,比如17.03就是2017年3月。 Docker的linux发行版的软件仓库从以前的https://apt.dockerproject.org和https://yum.dockerproject.org变更为目前的https://download.docker.com, 软件包名字改为docker-ce和docker-ee。 3.安装docker Docker的社区版(Docker Community Edition)叫做docker-ce。老版本的Docker包叫做docker或者docker-engine,如果安装了老版本的docker得先卸载然后再安装新版本的docker。docker的发展非常迅速,apt源的更新往往比较滞后。所以docker官网推荐的安装方式都是下载docker安装脚本安装。 卸载老旧的版本(若未安装过可省略此步): $ sudo apt-get remove docker docker-engine docker....

2022-04-25 · 4 分钟

Java基础加强03

1.管理系统与服务器集成 1.1准备工作【应用】 需求 对之前写过的黑马信息管理系统进行改进,实现可以通过浏览器进行访问的功能 准备工作 将资料中的黑马管理系统代码拷贝到当前模块下 导包的代码可能报错,因为之前的包路径可能和当前代码不一致,将导包的代码修改下 业务分析 解析URL封装到HttpReques对象 DynamicResourceProcess类(执行指定动态资源的service方法) 定义servlet类完成查询学生、添加学生、删除学生、修改学生的逻辑 项目结构 1.2HttpRequest类代码实现【应用】 实现步骤 提供一个存储url中用户信息的map集合 提供一个getParamter方法,用于根据请求参数的名称获取请求参数的值 提供一个parseParamter方法,用于解析请求参数把请求参数存储到map集合中 代码实现 // 此处只给出了新增的代码,其他代码同之前没有变化 public class HttpRequest { //用来存储请求URL中问号后面的那些数据 //id=1 name=itheima private Map<String,String> paramterHashMap = new HashMap<>(); //parse --- 获取请求数据 并解析 public void parse(){ try { SocketChannel socketChannel = (SocketChannel) selectionKey....

2022-04-24 · 5 分钟

Java基础加强02

1.xml 1.1概述【理解】 万维网联盟(W3C) 万维网联盟(W3C)创建于1994年,又称W3C理事会。1994年10月在麻省理工学院计算机科学实验室成立。 建立者: Tim Berners-Lee (蒂姆·伯纳斯·李)。 是Web技术领域最具权威和影响力的国际中立性技术标准机构。 到目前为止,W3C已发布了200多项影响深远的Web技术标准及实施指南, 如广为业界采用的超文本标记语言HTML(标准通用标记语言下的一个应用)、 可扩展标记语言XML(标准通用标记语言下的一个子集) 以及帮助残障人士有效获得Web信息的无障碍指南(WCAG)等 xml概述 XML的全称为(EXtensible Markup Language),是一种可扩展的标记语言 标记语言: 通过标签来描述数据的一门语言(标签有时我们也将其称之为元素) 可扩展:标签的名字是可以自定义的,XML文件是由很多标签组成的,而标签名是可以自定义的 作用 用于进行存储数据和传输数据 作为软件的配置文件 作为配置文件的优势 可读性好 可维护性高 1.2标签的规则【应用】 标签由一对尖括号和合法标识符组成 <student> 标签必须成对出现 <student> </student> 前边的是开始标签,后边的是结束标签 特殊的标签可以不成对,但是必须有结束标记 <address/> 标签中可以定义属性,属性和标签名空格隔开,属性值必须用引号引起来 <student id="1"> </student> 标签需要正确的嵌套...

2022-04-24 · 9 分钟

Java基础加强01

1.类加载器 1.1类加载器【理解】 作用 负责将.class文件(存储的物理文件)加载在到内存中 1.2类加载的过程【理解】 类加载时机 创建类的实例(对象) 调用类的类方法 访问类或者接口的类变量,或者为该类变量赋值 使用反射方式来强制创建某个类或接口对应的java.lang.Class对象 初始化某个类的子类 直接使用java.exe命令来运行某个主类 类加载过程 加载 通过包名 + 类名,获取这个类,准备用流进行传输 在这个类加载到内存中 加载完毕创建一个class对象 链接 验证 确保Class文件字节流中包含的信息符合当前虚拟机的要求,并且不会危害虚拟机自身安全 (文件中的信息是否符合虚拟机规范有没有安全隐患) 准备 负责为类的类变量(被static修饰的变量)分配内存,并设置默认初始化值 (初始化静态变量) 解析 将类的二进制数据流中的符号引用替换为直接引用 (本类中如果用到了其他类,此时就需要找到对应的类) 初始化 根据程序员通过程序制定的主观计划去初始化类变量和其他资源 (静态变量赋值以及初始化其他资源) 小结 当一个类被使用的时候,才会加载到内存 类加载的过程: 加载、验证、准备、解析、初始化 1....

2022-04-24 · 12 分钟

解决Docker日志文件太大的问题

Docker 在不重建容器的情况下,日志文件默认会一直追加,时间一长会逐渐占满服务器的硬盘的空间,内存消耗也会一直增加,本篇来了解一些控制日志文件的方法。 清理单个文件 运行时控制 全局配置 Docker 的日志文件存在 /var/lib/docker/containers 目录中,通过下面的命令可以将日志文件夹根据升序的方式罗列出来。 $ sudo du -d1 -h /var/lib/docker/containers | sort -h 28K /var/lib/docker/containers/0db860afe94df368335c2e96f290275f4c396b996b4e8d22770b01baafd9982c 36K /var/lib/docker/containers/6ee184044661c436b44769d56c203f1fc296dbfe08f6ed4cf79aa6fb8cae6659 44K /var/lib/docker/containers/66c44231981fcb5ecd33bf0fc3390e71c5cbbabb839d79441eb3317b8500d551 60K /var/lib/docker/containers/bc4136199037e73d712614ef57de0915d294cbe51045d213f0d822d71a86cf2c 344K /var/lib/docker/containers/7bd3a179cf67b1537e0965c1d1f518420ac5d4cd151ecb75c37ada8c2347ca6b 984K /var/lib/docker/containers/6bd1f79f16b8b06f2bd203dd84443004ba08c150ac51d23fa620e8b2cbf4b773 1.7M /var/lib/docker/containers/a93a4275571b0033367f9cab8213c467b21a03c600e2203195640b5a5bc7f523 4.4M /var/lib/docker/containers/082564c5bdb19b642491b09419a69061122483c0f959a36eb186dd1fec53c163 14M /var/lib/docker/containers/05fc24ef7a14e31e4557c9881482d350cfb05f2f1cb870638de344581154ca01 32M /var/lib/docker/containers/5d70c82942083d16593670058aefed339cfe874c9027205b1e6eb8e569894d65 129M /var/lib/docker/containers/a88d104d20e5ee58ffeaeecbb559b3231c5b8c73ad1443538928ebeae4ff705c 285M /var/lib/docker/containers/b623602a667c0b31068563f244610a548ed055ff9802197f372ff436a294ab5c 917M /var/lib/docker/containers/3d71c509ab6aea34400d37f6c006914eed2cb05e6e6cd07b3ee03eb783dc367b 1.4G /var/lib/docker/containers 有三种方式可以清理日志文件 清理单个文件 感觉哪个容器的日志太大就清理哪个 $ sudo sh -c "cat /dev/null > ${log_file}" ${log_file} 就是日志文件,可以通过 find 命令查找全部日志 $ sudo find /var/lib/docker/containers -name *.log /var/lib/docker/containers/3d71c509ab6aea34400d37f6c006914eed2cb05e6e6cd07b3ee03eb783dc367b/3d71c509ab6aea34400d37f6c006914eed2cb05e6e6cd07b3ee03eb783dc367b-json....

2022-04-21 · 1 分钟

Docker容器中安装curl、telnet、vim基础工具

#因在容器中排查故障需要,需要安装基础工具 # 查看系统版本: cat /etc/os-release Debian基础镜像 #先添加163源 tee /etc/apt/sources.list << EOF deb http://mirrors.163.com/debian/ jessie main non-ffree contrib deb http://mirrirs.163.com/debian/ jessie-updates main non-free contrib EOF #安装 curl telnet apt-get update && apt-get install -y curl telnet vim Alpine基础镜像 #先添加阿里源 cat > /etc/apk/repositories << EOF http://mirrors.aliyun.com/alpine/v3.12/main/ http://mirrors.aliyun.com/alpine/v3.12/community EOF #安装 curl scp telnet vim apk update && apk add curl openssh-client busybox-extras vim

2022-04-20 · 1 分钟