小编Pap*_*cel的帖子

在 RDS Mysql DB 中刷新和锁定表所需的权限

我想刷新然后锁定 RDS 实例上所有 Mysql 数据库中的所有表。

按照 Mysql 文档,最简单的方法是运行:

FLUSH LOCAL TABLES WITH READ LOCK
Run Code Online (Sandbox Code Playgroud)

参见 : http: //dev.mysql.com/doc/refman/5.6/en/flush.html

但是当我使用主用户(使用 RDS 实例创建向导创建)运行此查询时,我收到此错误:

Mysql::Error: Access denied for user 'my_db_user'@'%' (using password: YES)
Run Code Online (Sandbox Code Playgroud)

my_db_user 拥有 % 上的 LOCK TABLES 和 RELOAD 权限(以及其他权限)。

Mysql 引擎是 5.6.13。

我在这里缺少什么?

mysql sql rds amazon-web-services

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

用 awk 或 sed 替换 xml 文件的一部分

我想用另一个字符串替换下面<restApi></restApi>(包括restApi标签)之间的部分:

...
  <restApi>
    <baseUrl>https://domain.com/nexus</baseUrl>
    <forceBaseUrl>true</forceBaseUrl>
    <uiTimeout>60000</uiTimeout>
  </restApi>
...
Run Code Online (Sandbox Code Playgroud)

使用 awk,我使用以下命令进行替换:

awk '/<restApi>/,/<\/restApi>/ {sub(/.*/,"<sometag>stuff</sometag>")}1' file.xml
Run Code Online (Sandbox Code Playgroud)

问题是 awk 用替换字符串替换了每一行,所以我得到了这个输出:

...
<sometag>stuff</sometag>
<sometag>stuff</sometag>
<sometag>stuff</sometag>
<sometag>stuff</sometag>
<sometag>stuff</sometag>
...
Run Code Online (Sandbox Code Playgroud)
  • 我在 awk 命令中缺少什么"<sometag>stuff</sometag>"以在结果中只有一个?
  • 我该如何用 sed 来代替?
  • 更换过程中间距/标签丢失。我怎样才能保存它?

regex xml bash awk sed

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

如何在 Linux 中更新环境变量?

我定义了一个 Env 变量: export NBR_PROCESS=2

基本上我应该能够更新变量,但是当我执行以下脚本时,每次运行都会得到相同的结果:

#!/bin/bash
echo "Script 2: Before decrement : $NBR_PROCESS"
export NBR_PROCESS=$(($NBR_PROCESS - 1))
echo "Script 2: After decrement : $NBR_PROCESS"
Run Code Online (Sandbox Code Playgroud)

在每次执行时,我都会得到以下相同的结果:

Script 2: Before decrement : 2
Script 2: After decrement : 1
Run Code Online (Sandbox Code Playgroud)

我想做的是通过运行脚本来减少变量 NBR_PROCESS。

知道我在这里错过了什么吗?谢谢 !

linux bash

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

为什么Augeas Puppet资源类型需要3个defnode参数?

我正在尝试使用Puppet中的augeas资源类型在xml配置文件中添加或更新用户,此处清单:

  augeas { "nexus_user_newadmin":
    lens    => "Xml.lns",
    incl    => "security.xml",
    root    => "/usr/local/nexus/conf",
    changes => [
      "defnode user /files/security.xml/security/users/user[id/#text='newadmin']",
      "set $user/id/#text 'newadmin'",
      "set $user/firstName/#text 'first name'",
      "set $user/lastName/#text 'last name'",
      "set $user/password/#text 'passhere'",
      "set $user/status/#text 'active'",
      "set $user/email/#text 'test@domain.com'",
    ],
  }
Run Code Online (Sandbox Code Playgroud)

xml文件如下所示:

<?xml version="1.0"?>
<security>
          <users>
            ...
            <user>
              <id>deployment</id>
              <firstName>Deployment</firstName>
              <lastName>User</lastName>
              <password>somepasshere</password>
              <status>active</status>
              <email>changeme1@yourcompany.com</email>
            </user>
          </users>
</security>
Run Code Online (Sandbox Code Playgroud)

当我运行清单时,我收到错误:

Main/Augeas[nexus_user_newadmin]: Could not evaluate: missing string argument 3 for defnode
Run Code Online (Sandbox Code Playgroud)

看起来命令defnode在从puppet使用时需要3个强制参数,但在从augtool使用时只需要2(和1个可选).(见我原帖)

我怎样才能克服Puppet中augeas实现中的这些限制?

xml puppet augeas

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

标签 统计

bash ×2

xml ×2

amazon-web-services ×1

augeas ×1

awk ×1

linux ×1

mysql ×1

puppet ×1

rds ×1

regex ×1

sed ×1

sql ×1