小编Fab*_*ken的帖子

BASH:检查用户是否是root用户

如何在BASH脚本中检查用户是否为root用户?

我知道我可以使用

[[ $UID -eq 0 ]] || echo "Not root"
Run Code Online (Sandbox Code Playgroud)

要么

[[ $EUID -eq 0 ]] || echo "Not root"
Run Code Online (Sandbox Code Playgroud)

但是如果脚本是通过fakeroot调用的,那么UID和EUID都是0(当然,因为fakeroot伪造了root权限).

但有没有办法检查用户是否是root用户?没有尝试做只有root可以做的事情(即在/中创建一个文件)?

linux bash privileges root

4
推荐指数
1
解决办法
4356
查看次数

Eureka检测服务状态

语境

\n\n

我们使用 Spring Cloud Netflix 和 Eureka 作为服务发现,使用 Zuul 来代理服务并对其进行负载平衡。

\n\n

微服务是使用 NodeJS 实现的,并使用 NPM 模块eureka-js-client和中间的自定义层在 Eureka 注册,该自定义层处理所有微服务通用的配置和内容。

\n\n
\n\n

问题

\n\n

问题是尤里卡无法识别一项服务是否出现故障。这是一个问题,因为我们拥有一个具有自动部署功能的开发基础架构,每次都会在不同端口上重新部署和重新启动微服务,而无需重新启动 Eureka(和 Zuul)。

\n\n

因此,过了一段时间,我们就有了十个或更多的一个微服务实例,其中只有一个处于运行状态,但所有实例都被识别为 being UP

\n\n
\n\n

解决方法

\n\n
    \n
  1. 我尝试在客户端上设置heartbeatInterval较小的值,但这没有帮助。

  2. \n
  3. 我尝试在服务器上设置renewalThresholdUpdateIntervalMs较小的值,但这也没有帮助。

  4. \n
  5. 更多令人沮丧、无益的属性尝试\xe2\x80\xa6

  6. \n
\n\n
\n\n

问题

\n\n

如何配置 Eureka 驱逐实例或将DOWN在合理时间(不是 30 分钟左右)内未发送心跳的实例设置为状态?

\n\n
\n\n

代码片段

\n\n

服务器本身不包含可提及的代码(只是使用 Spring Cloud Starter 启动 Eureka 服务器的一些注释)。

\n\n

Eureka服务器的配置(我已经删除了所有不工作的尝试):

\n\n
server:\n  port: 8761\n\nspring:\n  cloud:\n    client:\n      hostname: localhost\n\neureka:\n  instance:\n …
Run Code Online (Sandbox Code Playgroud)

java spring node.js spring-cloud netflix-eureka

2
推荐指数
1
解决办法
8093
查看次数

标签 统计

bash ×1

java ×1

linux ×1

netflix-eureka ×1

node.js ×1

privileges ×1

root ×1

spring ×1

spring-cloud ×1