使用rsync从OpenShift的pod复制文件

环境

  • Red Hat Enterprise Linux release 8.6 (Ootpa)
  • OCP 4.12.22

准备

安装rsync:

  • yum install rsync

查看pod:

[[email protected] ~]# oc get pod -n cpd-instance | grep dmc
......
ibm-dmc-1700727413211000-monitor-0                           1/1     Running     0          4h22m
......

进入到pod里: oc exec -it ibm-dmc-1700727413211000-monitor-0 bash -n cpd-instance

查看文件:

bash-4.4$ ls -l /opt/ibm-datasrvrmgr/logs/monitor.*
-rw-r--r--. 1 1000670000 root 39713 Nov 24 12:50 /opt/ibm-datasrvrmgr/logs/monitor.0
-rw-r-----. 1 1000670000 root     0 Nov 24 08:30 /opt/ibm-datasrvrmgr/logs/monitor.0.lck

从pod向外复制文件或者目录

注:文档上说只能复制目录,不支持单个文件,但我试了,如果是从pod向外复制,是可以复制单个文件的。

  • 想要把pod里的 /opt/ibm-datasrvrmgr/logs/monitor.0 文件复制出来,复制到 /root/temp 目录下:

    • oc rsync ibm-dmc-1700727413211000-monitor-0:/opt/ibm-datasrvrmgr/logs/monitor.0 /root/temp/ -n cpd-instance
  • 想要把pod里的 /opt/ibm-datasrvrmgr/logs 目录复制出来,复制到 /root 目录下:

    • oc rsync ibm-dmc-1700727413211000-monitor-0:/opt/ibm-datasrvrmgr/logs /root/temp/ -n cpd-instance
      保留源目录(即: /root/temp/logs/monitor.0
    • oc rsync ibm-dmc-1700727413211000-monitor-0:/opt/ibm-datasrvrmgr/logs/ /root/temp/ -n cpd-instance
      不保留源目录(即: /root/temp/monitor.0

向pod里复制目录

注:只能复制目录,不支持单个文件。

  • 想要把 /tmp/temp 目录复制到pod里的 /opt/ibm-datasrvrmgr/logs 目录下:
    • oc rsync /tmp/temp ibm-dmc-1700727413211000-monitor-0:/opt/ibm-datasrvrmgr/logs/ -n cpd-instance
      保留源目录(即: /opt/ibm-datasrvrmgr/logs/temp/a.txt
    • oc rsync /tmp/temp/ ibm-dmc-1700727413211000-monitor-0:/opt/ibm-datasrvrmgr/logs/ -n cpd-instance
      不保留源目录(即: /opt/ibm-datasrvrmgr/logs/a.txt

参考

  • https://access.redhat.com/documentation/zh-cn/openshift_container_platform/4.2/html/nodes/nodes-containers-copying-files

你可能感兴趣的:(openshift,openshift)