记录服务器被入侵中了挖矿病毒
问题现象内存被吃的很满,top 之后发现始终有僵尸线程在占用大量资源,kill 之后又会重新起来一个。 1. 检查恶意进程及非法端口1netstat -antp 可以看到 ESTABLISHED 状态的网络连接: 123tcp 0 0 10.0.0.8:52860 104.168.71.132:80 ESTABLISHED 24031/bashirctcp 0 0 10.0.0.8:37602 185.156.179.225:80 ESTABLISHED 778145/kdevtmpfsitcp 0 0 10.0.0.8:56536 194.5.249.24:8080 ESTABLISHED 777784/dbused 其中端口 52860, 37602, 56536 等都是非法的,到云服务商安全组中重新设置,只对外开放 22 端口,关闭其他端口。 百度异常 IP,发现: 1234104.168.71.132 美国纽约布法罗185.156.179.225 俄罗斯莫斯科209.141.40.190 美国内华达拉斯维加斯194.5.249.24 罗马...
记录 CentOS 7 内核版本升级过程(3.10 -> 5.4)
关于 Linux 内核Linux 内核分两种:官方内核(通常是内核开发人员用)和各大 Linux 发行版内核(一般用户常用)。 官方内核版本说明在使用 Docker 时,发现其对 Linux 内核版本的最低要求是 3.10(这也刚好是 CentOS 7.2 的内核版本),但是在这个版本上有部分功能无法实现。为了使用最新版本的内核,只好在安装 CentOS 7 后对内核进行升级。 当然,内核也不能选最新的,防止有尚未发现的 BUG。而且为了减少以后停止维护带来的麻烦,最好安装长期支持版本。各个版本的支持时间在这个页面查看。每个版本可能有四种类型,概述如下: Prepatch:Prepatch 或 "RC" 内核是主要的内核预发行版本,主要针对内核开发人员和 Linux 爱好者。必须从源代码进行编译,并且通常包含必须在可以放入稳定版本之前进行测试的新功能。Prepatch 内核由 Linus Torvalds 维护和发布。 Mainline:Mainline 主线树由 Linus Torvalds 维护。这个版本的内核会引入所有新功能。新的 Mainline 内...
软链接和硬链接的用法
查看软/硬链接123456789101112[root@k3s-node4 bin]# ls -ltotal 25844-rwxr-xr-x 1 root root 26451968 Mar 29 02:23 docker-composelrwxrwxrwx 1 root root 26 Apr 6 02:16 node -> /usr/local/nodejs/bin/node-rwxr-xr-x 1 root root 3506 Apr 14 09:27 node-gyplrwxrwxrwx 1 root root 25 Apr 6 02:16 npm -> /usr/local/nodejs/bin/npm-rwxr-xr-x 1 root root 177 Apr 14 09:27 npx-rw-r--r-- 1 root root 27 Apr 14 09:28 package-lock.jsonlrwxrwxrwx 1 root root 25 Apr 14 09:37 pm2...
针对文件的操作指令记录
清除文件内容递归清空指定路径下所有文件的内容,但不删除文件本身1234# truncate -s 0 表示将文件大小设置为 0# {} + 表示对所有找到的文件执行这个操作find /path/to/directory -type f -exec truncate -s 0 {} +
Liquibase 的使用
Liquibase 简介引自官网: LiquiBase 是一个用于数据库重构和迁移的开源工具,通过日志文件的形式记录数据库的变更,然后执行日志文件中的修改,将数据库更新或回滚到一致的状态。它的目标是提供一种数据库类型无关的解决方案,通过执行 schema 类型的文件来达到迁移。其优点主要有以下: 支持几乎所有主流的数据库,如 MySQL、PostgreSQL、Oracle、SQL Server、DB2 等 支持多开发者的协作维护 日志文件支持多种格式,如 XML、YAML、JSON、SQL 等 支持多种运行方式,如命令行、Spring 集成、Maven 插件、Gradle 插件等 在多数据源项目中,SQL 显然不如 YAML/XML 等自如 版本号由开发人员来维护,使用 author + id Maven 依赖配置12345678910111213141516171819202122232425262728293031<dependencies> <dependency> <groupId>org.liquib...
Gradle 构建工具
介绍Gradle 是 Google 开发的基于 Groovy 语言,用于代替 Ant 构建的一种配置型语言。 Gradle 是基于 Groovy 语言实现(基于 JVM 的语法和 Java 类似的脚本语言)的一个 Android 编译系统,Google 针对 Android 编译用 Groovy 语言开发了一套 DSL 语言,有额外需要直接使用 Groovy,或者 Java 代码解决。 下载 / 安装地址:http://services.gradle.org/distributions/ 环境配置123456GRADLE_HOME={installed path}PATH=%GRADLE_HOME%\bin# 缓存依赖项/元数据/插件数据# 该属性的默认值根据平台不同而不同,Windows平台默认为C:\Users\用户名\.gradle,Linux和Mac平台默认为~/ .gradle。可以通过设置该属性来指定Gradle用户目录的位置# GRADLE_USER_HOME= 验证gradle -v 问题&解决办法记录Idea中gradle...
Maven 配合 Fabric8 插件整合使用
Maven 配合 fabric8 插件整合使用(谨供参考) 自建镜像仓库并推送到远端定义 properties: 123456789<docker.plugin.version>0.35.0</docker.plugin.version><!--docker 守护进程 uri,一般是自己的 docker 所在环境:2375--><docker.host>http://localhost:2375</docker.host><!--镜像推送及拉取地址--><docker.registry>docker.io</docker.registry><!-- namespace 使用本人 docker 用户名 --><docker.namespace>xxx</docker.namespace><docker.username>xxx</docker.username><docker.password>xxx</doc...
Gradle 插件开发指南
开发自定义Gradle插件Gradle插件是封装可重用的构建逻辑的一种方式,可以在许多不同的项目和构建中使用。Gradle允许您实现自己的插件,以便重用您的构建逻辑,并与他人共享。 您可以使用任何语言来实现Gradle插件,只要最终实现编译为JVM字节码即可。在我们的示例中,我们将在独立的插件项目中使用Java作为实现语言,在构建脚本插件示例中使用Groovy或Kotlin。通常情况下,使用静态类型的Java或Kotlin实现的插件将比使用Groovy实现的相同插件性能更好。 打包插件有几个地方可以放置插件的源代码。 构建脚本您可以直接在构建脚本中包含插件的源代码。这样做的好处是,插件会自动编译并包含在构建脚本的类路径中,无需进行任何操作。但是,插件在构建脚本之外不可见,因此您无法在定义插件的构建脚本之外重用该插件。 buildSrc项目您可以将插件的源代码放在rootProjectDir/buildSrc/src/main/java目录中(或rootProjectDir/buildSrc/src/main...
Maven & Gradle 多环境配置
Gradle 多环境配置目录结构 指定环境打包在 application.yml/yaml/properties 中: 执行 bootJar 打包命令前要先执行 clean【其它和 processResources 相关的命令也要先执行 clean】,否则 active 值不会变! 123spring: profiles: active: @activeProfile@ 修改 build.gradle 的 processResources 任务123456789101112131415161718192021222324252627282930313233def activeProfile = project.properties['activeProfile'] ?: "dev"processResources { exclude { FileTreeElement details -> { (//排除不是当前环境的 yml 配置文件 details.file.na...
Maven 常用插件(长期整理)
maven-compiler-plugin这个插件是用来编译源代码的。 例如报错 static import declarations are not supported in -source 1.3,这是因为编译的时候默认是 1.3 版本。可以设定编译器的版本为 1.6。 注意:target 版本一定大于等于 source 版本。 用法: 12345678910111213<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.6<...
