saltstackモジュールのfile関連モジュール
1、file.access
file.アクセス:saltプロセスに指定したファイルへの対応するアクセス権があるかどうかをテストします.
2、file.touch
file.touch:ファイルが存在しない場合はtouch fileに相当し、ファイルが存在する場合はアクセス時間または変更時間を更新します.
3、file.append
file.append:ファイルの末尾に文字を追加します.
4、file.basename
file.basename:与えられたパスの最後の部分を返します.
5、file.chgrp
file.chgrp:ファイルのグループを変更します.
6、file.chown
file.chown:ファイルの所有者とグループを変更します.
7、file.copy
file.copy:ソースディレクトリからターゲットディレクトリにファイルをコピーします.ディレクトリをコピーする場合は、recurseラベルを追加する必要があります.デフォルトでは、ターゲットディレクトリの同じパスのファイルが上書きされ、他のファイルが保持されます.remove_existingオプションでは、ターゲットディレクトリ内のすべてのファイルが事前に削除され、ソースパスからターゲットパスにコピーされます.
8、file.dirname
file.dirname:指定したパスのディレクトリセクションを返します.
9、file.diskusage
file.diskusage:指定したディレクトリが占めるディスク領域を再帰的に計算し、計算した値をバイト単位で返します.
10、file.file_exists
file.file_exists:ターゲットパスが有効なファイルであるかどうかをテストし、TrueまたはFalseの値を返します.
11、file.find
file.find:指定した検索条件で返されるファイルパスを返します.Linuxのfindコマンドに相当し、パラメータもfindコマンドに対応します.
12、file.get_gid
file.get_gid:与えられたファイルの属するグループのidを返します.
13、file.get_group
file.get_group:与えられたファイルのグループを返します.
14、file.get_uid
file.get_uid:与えられたファイルの所有者のidを返します.
15、file.get_user
file.get_user:与えられたファイルの所有者を返します.
16、file.grep
file.grep:指定したファイルから文字列を検索します.Linuxのgrepコマンドに相当し、パラメータもgrepコマンドに互換性があります.
17、file.makedirs
file.makedirs:ディレクトリを作成し、ディレクトリに含まれるパスが使用可能であることを確認します.パスは必ず末尾に「/」を追加する必要があります.そうしないと、/tmp/pfileが転送されると/tmp/処理となり、転送/tmp/pfile/が/tmp/pfile/処理となります.また、このモジュール名にはdirsが含まれていますが、複数のディレクトリを一括して作成することはできません.複数のパラメータが入力された場合、デフォルトでは最初のパラメータのみが処理されます.ただし、親ディレクトリが存在しない場合でも、マルチレベルディレクトリを作成できます.
18、file.mkdir
file.mkdir:ディレクトリが使用可能であることを確認します.つまり、指定したディレクトリを作成します.ファイルとmakedirsとは異なり、パラメータは末尾に「/」を持たずに作成できます.また、このモジュールは複数のディレクトリの一括作成をサポートし、マルチレベルディレクトリの作成もサポートします.
19、file.move
file.move:ファイルまたはディレクトリを移動します.
20、file.remove
file.remove:ファイルを削除します.注意:このモジュールは一度に1つのパラメータしか受け入れられません.
21、file.rename
file.rename:ファイルまたはディレクトリの名前を変更します.
22、file.stats
file.stats:指定したファイルのステータスを含む辞書を返します.
23、file.rmdir
file.rmdir:指定したディレクトリを削除し、ディレクトリが空でない場合は失敗します.
24、file.search
file.search:patternパラメータが指定したファイルに表示されるかどうかを検索します.
25、file.readdir
file.readdir:ディレクトリの内容を含むリストを返します.
file.アクセス:saltプロセスに指定したファイルへの対応するアクセス権があるかどうかをテストします.
[root@salt-master ~]# salt '*' file.access /etc/passwd f
salt-minion02.contoso.com:
True
salt-minion01.contoso.com:
True
[root@salt-master ~]# salt '*' file.access /etc/passwd r
salt-minion02.contoso.com:
True
salt-minion01.contoso.com:
True
[root@salt-master ~]# salt '*' file.access /etc/passwd w
salt-minion01.contoso.com:
True
salt-minion02.contoso.com:
True
[root@salt-master ~]# salt '*' file.access /etc/passwd x
salt-minion02.contoso.com:
False
salt-minion01.contoso.com:
False
2、file.touch
file.touch:ファイルが存在しない場合はtouch fileに相当し、ファイルが存在する場合はアクセス時間または変更時間を更新します.
[root@salt-master ~]# salt '*' file.touch /tmp/salt-test
salt-minion02.contoso.com:
True
salt-minion01.contoso.com:
True
3、file.append
file.append:ファイルの末尾に文字を追加します.
[root@salt-master ~]# salt '*' file.append /tmp/sal-test "Hello,World."
salt-minion01.contoso.com:
Wrote 1 lines to "/tmp/sal-test"
salt-minion02.contoso.com:
Wrote 1 lines to "/tmp/sal-test"
[root@salt-master ~]# salt '*' file.append /tmp/sal-test args='Hello=Hi'
salt-minion01.contoso.com:
Wrote 1 lines to "/tmp/sal-test"
salt-minion02.contoso.com:
Wrote 1 lines to "/tmp/sal-test"
[root@salt-master ~]# salt '*' file.append /tmp/sal-test args="['true=1','false=0']"
salt-minion01.contoso.com:
Wrote 2 lines to "/tmp/sal-test"
salt-minion02.contoso.com:
Wrote 2 lines to "/tmp/sal-test"
4、file.basename
file.basename:与えられたパスの最後の部分を返します.
[root@salt-master ~]# salt '*' file.basename /tmp/sal-test
salt-minion02.contoso.com:
sal-test
salt-minion01.contoso.com:
sal-test
5、file.chgrp
file.chgrp:ファイルのグループを変更します.
[root@salt-master ~]# salt '*' file.chgrp /tmp/testfile nginx
salt-minion01.contoso.com:
None
salt-minion02.contoso.com:
None
[root@salt-master ~]# salt '*' cmd.run "ls -l /tmp/testfile"
salt-minion01.contoso.com:
-rw-r--r-- 1 root nginx 0 Jun 4 01:27 /tmp/testfile
salt-minion02.contoso.com:
-rw-r--r-- 1 root nginx 0 Jun 4 01:27 /tmp/testfile
6、file.chown
file.chown:ファイルの所有者とグループを変更します.
[root@salt-master ~]# salt '*' file.chown /tmp/testfile nginx nginx
salt-minion01.contoso.com:
None
salt-minion02.contoso.com:
None
[root@salt-master ~]# salt '*' cmd.run "ls -l /tmp/testfile"
salt-minion02.contoso.com:
-rw-r--r-- 1 nginx nginx 0 Jun 4 01:27 /tmp/testfile
salt-minion01.contoso.com:
-rw-r--r-- 1 nginx nginx 0 Jun 4 01:27 /tmp/testfile
7、file.copy
file.copy:ソースディレクトリからターゲットディレクトリにファイルをコピーします.ディレクトリをコピーする場合は、recurseラベルを追加する必要があります.デフォルトでは、ターゲットディレクトリの同じパスのファイルが上書きされ、他のファイルが保持されます.remove_existingオプションでは、ターゲットディレクトリ内のすべてのファイルが事前に削除され、ソースパスからターゲットパスにコピーされます.
[root@salt-master ~]# salt '*' file.copy /etc/hosts /tmp/hosts
salt-minion01.contoso.com:
True
salt-minion02.contoso.com:
True
[root@salt-master ~]# salt '*' cmd.run 'ls -l /tmp/hosts'
salt-minion01.contoso.com:
-rw-r--r-- 1 root root 327 Jun 4 01:41 /tmp/hosts
salt-minion02.contoso.com:
-rw-r--r-- 1 root root 330 Jun 4 01:41 /tmp/hosts
[root@salt-master ~]# salt '*' file.copy /var/spool/cron/ /tmp/ recurse=True
salt-minion01.contoso.com:
True
salt-minion02.contoso.com:
True
[root@salt-master ~]# salt '*' cmd.run 'ls -l /tmp/root'
salt-minion02.contoso.com:
-rw-r--r-- 1 root root 89 Jun 4 01:46 /tmp/root
salt-minion01.contoso.com:
-rw-r--r-- 1 root root 73 Jun 4 01:46 /tmp/root
[root@salt-master ~]# salt '*' file.copy /var/spool/cron/ /tmp/ recurse=True remove_existing=True
salt-minion02.contoso.com:
True
salt-minion01.contoso.com:
True
[root@salt-master ~]# salt '*' cmd.run 'ls -l /tmp'
salt-minion01.contoso.com:
total 4
-rw-r--r-- 1 root root 73 Mar 11 21:35 root
salt-minion02.contoso.com:
total 4
-rw------- 1 root root 89 May 25 13:32 root
8、file.dirname
file.dirname:指定したパスのディレクトリセクションを返します.
[root@salt-master ~]# salt '*' file.dirname /etc/passwd
salt-minion01.contoso.com:
/etc
salt-minion02.contoso.com:
/etc
9、file.diskusage
file.diskusage:指定したディレクトリが占めるディスク領域を再帰的に計算し、計算した値をバイト単位で返します.
[root@salt-master ~]# salt '*' file.diskusage /root/install.log
salt-minion01.contoso.com:
30131
salt-minion02.contoso.com:
30131
10、file.file_exists
file.file_exists:ターゲットパスが有効なファイルであるかどうかをテストし、TrueまたはFalseの値を返します.
[root@salt-master ~]# salt '*' file.file_exists /etc/passwd
salt-minion02.contoso.com:
True
salt-minion01.contoso.com:
True
11、file.find
file.find:指定した検索条件で返されるファイルパスを返します.Linuxのfindコマンドに相当し、パラメータもfindコマンドに対応します.
[root@salt-master ~]# salt 'salt-minion01.contoso.com' file.find /var name=minion
salt-minion01.contoso.com:
- /var/cache/salt/minion
- /var/log/salt/minion
- /var/run/salt/minion
[root@salt-master ~]# salt 'salt-minion01.contoso.com' file.find /var name=minion size=-1m
salt-minion01.contoso.com:
- /var/cache/salt/minion
- /var/log/salt/minion
- /var/run/salt/minion
[root@salt-master ~]# salt 'salt-minion01.contoso.com' file.find /var name=minion size=-1m print=path,size,mtime
salt-minion01.contoso.com:
|_
- /var/cache/salt/minion
- 4096
- 1495711378
|_
- /var/log/salt/minion
- 1123
- 1496551874
|_
- /var/run/salt/minion
- 4096
- 1496544267
12、file.get_gid
file.get_gid:与えられたファイルの属するグループのidを返します.
[root@salt-master ~]# salt '*' file.get_gid /etc/passwd
salt-minion02.contoso.com:
0
salt-minion01.contoso.com:
0
13、file.get_group
file.get_group:与えられたファイルのグループを返します.
[root@salt-master ~]# salt '*' file.get_group /etc/passwd
salt-minion02.contoso.com:
root
salt-minion01.contoso.com:
root
14、file.get_uid
file.get_uid:与えられたファイルの所有者のidを返します.
[root@salt-master ~]# salt '*' file.get_uid /etc/passwd
salt-minion01.contoso.com:
0
salt-minion02.contoso.com:
0
15、file.get_user
file.get_user:与えられたファイルの所有者を返します.
[root@salt-master ~]# salt '*' file.get_user /etc/passwd
salt-minion02.contoso.com:
root
salt-minion01.contoso.com:
root
16、file.grep
file.grep:指定したファイルから文字列を検索します.Linuxのgrepコマンドに相当し、パラメータもgrepコマンドに互換性があります.
[root@salt-master ~]# salt 'salt-minion01.contoso.com' file.grep /etc/passwd nobody
salt-minion01.contoso.com:
----------
pid:
1858
retcode:
0
stderr:
stdout:
nobody:x:99:99:Nobody:/:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
[root@salt-master ~]# salt '*' file.grep /etc/sysconfig/network-scripts/ifcfg-eth0 ipaddr " -i"
salt-minion01.contoso.com:
----------
pid:
1896
retcode:
0
stderr:
stdout:
IPADDR=192.168.49.101
salt-minion02.contoso.com:
----------
pid:
1770
retcode:
0
stderr:
stdout:
IPADDR=192.168.49.102
17、file.makedirs
file.makedirs:ディレクトリを作成し、ディレクトリに含まれるパスが使用可能であることを確認します.パスは必ず末尾に「/」を追加する必要があります.そうしないと、/tmp/pfileが転送されると/tmp/処理となり、転送/tmp/pfile/が/tmp/pfile/処理となります.また、このモジュール名にはdirsが含まれていますが、複数のディレクトリを一括して作成することはできません.複数のパラメータが入力された場合、デフォルトでは最初のパラメータのみが処理されます.ただし、親ディレクトリが存在しない場合でも、マルチレベルディレクトリを作成できます.
[root@salt-master ~]# salt '*' file.makedirs /tmp/pfile
salt-minion01.contoso.com:
Directory '/tmp' already exists
salt-minion02.contoso.com:
Directory '/tmp' already exists
[root@salt-master ~]# salt '*' file.makedirs /tmp/pfile/
salt-minion02.contoso.com:
None
salt-minion01.contoso.com:
None
[root@salt-master ~]# salt '*' cmd.run 'ls -l /tmp/'
salt-minion01.contoso.com:
total 8
drwxr-xr-x 2 root root 4096 Jun 4 10:48 pfile
-rw-r--r-- 1 root root 73 Mar 11 21:35 root
salt-minion02.contoso.com:
total 8
drwxr-xr-x 2 root root 4096 Jun 4 10:48 pfile
-rw------- 1 root root 89 May 25 13:32 root
[root@salt-master ~]# salt '*' file.makedirs /tmp/dic1/dic2/dic3/
salt-minion02.contoso.com:
None
salt-minion01.contoso.com:
None
[root@salt-master ~]# salt '*' cmd.run 'tree /tmp'
salt-minion01.contoso.com:
/tmp
|-- dic1
| `-- dic2
| `-- dic3
|-- pfile
|-- root
`-- salt
5 directories, 1 file
salt-minion02.contoso.com:
/tmp
|-- dic1
| `-- dic2
| `-- dic3
|-- pfile
|-- root
`-- salt
5 directories, 1 file
18、file.mkdir
file.mkdir:ディレクトリが使用可能であることを確認します.つまり、指定したディレクトリを作成します.ファイルとmakedirsとは異なり、パラメータは末尾に「/」を持たずに作成できます.また、このモジュールは複数のディレクトリの一括作成をサポートし、マルチレベルディレクトリの作成もサポートします.
[root@salt-master ~]# salt '*' file.mkdir /tmp/salt
salt-minion02.contoso.com:
None
salt-minion01.contoso.com:
None
[root@salt-master ~]# salt '*' cmd.run 'ls -l /tmp'
salt-minion01.contoso.com:
total 12
drwxr-xr-x 2 root root 4096 Jun 4 10:48 pfile
-rw-r--r-- 1 root root 73 Mar 11 21:35 root
drwxr-xr-x 2 root root 4096 Jun 4 11:02 salt
[root@salt-master ~]# salt '*' file.mkdir /tmp/salt1/slat2/salt3
salt-minion02.contoso.com:
None
salt-minion01.contoso.com:
None
[root@salt-master ~]# salt '*' file.mkdir /tmp/test1 /tmp/test2 /tmp/test3
salt-minion02.contoso.com:
None
salt-minion01.contoso.com:
None
[root@salt-master ~]# salt '*' file.mkdir /tmp/pfile/test
salt-minion01.contoso.com:
None
salt-minion02.contoso.com:
None
19、file.move
file.move:ファイルまたはディレクトリを移動します.
[root@salt-master ~]# salt '*' file.move /tmp/pfile/test /tmp/salt01/
salt-minion01.contoso.com:
----------
comment:
'/tmp/pfile/test' moved to '/tmp/salt01/'
result:
True
salt-minion02.contoso.com:
----------
comment:
'/tmp/pfile/test' moved to '/tmp/salt01/'
result:
True
20、file.remove
file.remove:ファイルを削除します.注意:このモジュールは一度に1つのパラメータしか受け入れられません.
[root@salt-master ~]# salt '*' file.remove /tmp/dic1/
salt-minion02.contoso.com:
True
salt-minion01.contoso.com:
True
[root@salt-master ~]# salt '*' file.remove /tmp/test1/
salt-minion02.contoso.com:
True
salt-minion01.contoso.com:
True
21、file.rename
file.rename:ファイルまたはディレクトリの名前を変更します.
[root@salt-master ~]# salt '*' file.rename /tmp/salt1 /tmp/salt01
salt-minion01.contoso.com:
True
salt-minion02.contoso.com:
True
22、file.stats
file.stats:指定したファイルのステータスを含む辞書を返します.
[root@salt-master ~]# salt 'salt-minion01.contoso.com' file.stats /etc/passwd
salt-minion01.contoso.com:
----------
atime:
1496464651.48
ctime:
1489237646.83
gid:
0
group:
root
inode:
394628
mode:
0644
mtime:
1489237646.82
size:
1465
target:
/etc/passwd
type:
file
uid:
0
user:
root
23、file.rmdir
file.rmdir:指定したディレクトリを削除し、ディレクトリが空でない場合は失敗します.
[root@salt-master ~]# salt '*' file.rmdir /tmp/salt01
salt-minion02.contoso.com:
Directory not empty
salt-minion01.contoso.com:
Directory not empty
[root@salt-master ~]# salt '*' file.rmdir /tmp/salt
salt-minion02.contoso.com:
True
salt-minion01.contoso.com:
True
24、file.search
file.search:patternパラメータが指定したファイルに表示されるかどうかを検索します.
[root@salt-master ~]# salt '*' file.search /etc/passwd 'nginx'
salt-minion02.contoso.com:
True
salt-minion01.contoso.com:
True
[root@salt-master ~]# salt '*' file.search /etc/passwd 'test'
salt-minion02.contoso.com:
False
salt-minion01.contoso.com:
False
25、file.readdir
file.readdir:ディレクトリの内容を含むリストを返します.
[root@salt-master ~]# salt '*' file.readdir /tmp/pfile
salt-minion02.contoso.com:
- .
- ..
- test
salt-minion01.contoso.com:
- .
- ..
- test