小编mr.*_*zog的帖子

使用Python编辑文本文件

我需要在IP地址发生变化时更新文本文件,然后再从shell运行一些命令.

  1. 创建变量LASTKNOWN ="212.171.135.53"这是我们编写此脚本时的IP地址.

  2. 获取当前的IP地址.它会每天改变.

  3. 为新IP创建变量CURRENT.

  4. 比较(作为字符串)CURRENT到LASTKNOWN

  5. 如果它们相同,则退出()

  6. 如果他们不同,

    A.将包含LASTKNOWN IP地址的旧配置文件(/etc/ipf.conf)"复制"到/ tmp B.用/tmp/ipf.conf文件中的CURRENT替换LASTKNOWN.
    C.使用子进程"mv /tmp/ipf.conf /etc/ipf.conf"D
    .使用子进程执行,"ipf -Fa -f /etc/ipf.conf"E
    .使用子进程执行,"ipnat -CF -f /etc/ipnat.conf"

  7. 出口()

我知道如何执行第1步到第6步.我堕落在"文件编辑"部分,A - > C.我无法分辨使用什么模块或是否应该编辑文件.有很多方法可以做到这一点,我无法决定最好的方法.我想我想要最保守的一个.

我知道如何使用子进程,所以你不需要对它进行评论.

我不想替换整条线; 只是一个特定的点缀四边形

谢谢!

python text editing

6
推荐指数
3
解决办法
3万
查看次数

确保在init.pp中确保=> file AND ensure =>是否有意义

确保文件存在和文件是否有意义?现在暗示它是一个文件还是该file { '/etc/sendmail':行将其定义为文件?

class sendmail {

    file { '/etc/sendmail':
      ensure => directory,
      mode => 755
    }

    file { '/etc/sendmail/sendmail.cf':
      ensure  => present,
      ensure  => file,
      backup  => false,
      source => 'puppet:///mymodules/sendmail/sendmail.cf',
    }

    file { '/etc/sendmail/submit.cf':
      ensure  => present,
      ensure  => file,
      backup  => false,
      source => 'puppet:///mymodules/sendmail/submit.cf',
    }

    service {'sendmail': 
      ensure => running
    }

}
Run Code Online (Sandbox Code Playgroud)

puppet

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

如何转义以美元符号 icinga2 结尾的密码?

我有几十个设备需要使用 API 脚本登录。一组设备的密码以 $ 结尾。我已经尝试了很多东西,但我似乎无法摆脱那个 $ 字符。这是我看到的错误。

critical/config: Error: Validation failed for object 'gelt-uk4-gp!HTTP/80: Status Check ' of type 'Service'; Attribute 'vars' -> 'gspass': Closing $ not found in macro format string 'n0t-real#$'.
Location: in /etc/icinga2/zones.d/global-templates/global-services.conf: 55:5-55:31
/etc/icinga2/zones.d/global-templates/global-services.conf(53):   if ( host.vars.company == "gelt-emea" ) {
/etc/icinga2/zones.d/global-templates/global-services.conf(54):     vars.gsuser = "admin"
/etc/icinga2/zones.d/global-templates/global-services.conf(55):     vars.gspass = "n0t-real#$"
                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)

icinga2

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

如何使用perlbrew在64位Linux机器上编译32位Perl?

我对perlbrew几乎不熟悉.我想我需要使用--sitecustomize $ filename但我无法在任何地方找到此文件的示例.我不知道该放入文件中的内容.任何人都有我可以看到的样品?

perl 64-bit 32-bit perlbrew

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

标签 统计

32-bit ×1

64-bit ×1

editing ×1

icinga2 ×1

perl ×1

perlbrew ×1

puppet ×1

python ×1

text ×1