在 Puppet 中,管理檔案會用 file 來管理檔案,如果只是要 “修改” 檔案內容的話會用 puppetlabs-stdlib 中的 file_line 來操作
file_line 常用的方法有幾種
從檔案的最後寫入文字
你可以這樣寫:
file { '/tmp/example.txt': ensure => present, content => 'hello world' }-> file_line { 'Append a line to /tmp/example.txt': path => '/tmp/example.txt', line => 'I\'m the king of the world.', }
從上面執行的結果會變成這樣:
$ cat /tmp/example.txt hello world I'm the king of the world.
取代檔案中的文字
可以用 match :
file { '/tmp/example.txt': ensure => present, content => 'hello world' }-> file_line { 'Append a line to /tmp/example.txt': path => '/tmp/example.txt', line => 'I\'m the king of the world.', match => '^hello*$', }
符合 match 的都會被取代成 line 的文字:
$ cat /tmp/example.txt I'm the king of the world.
Done !!