shell/py 변수를 사용하여 여러 디렉터리를 확인하기 위해 마운트 지점을 사용하는 방법

shell/py 변수를 사용하여 여러 디렉터리를 확인하기 위해 마운트 지점을 사용하는 방법

이 검사를 자동화하려는 경우 py 함수가 셸에서 어떻게 작동합니까?

def success():
    print("###    ####end")
    print("###end")

# It can be called when the script fails and output the failed signal.
def failure():
    print("### ####end")
    print("###end")

# It can be called when the script needs to Export results.Separate multiple export results with \n.
# if you want to output multi line messages, you can call the function multiple times or add newline characters, for example, output("aaaaa\nbbbbb\nccccc\nddddd")
# Note: 1. If you create a job by calling an interface, the script can obtain the script output from the output field only by calling the output function.
# Note: 2. Only output messages are exported by the Export Result button on the page.
def output(msg):
    print("### ####end")
    print(msg)
    print("###end")

# Special output function for inspection work, output inspection results.Multiple inspection results are separated by %.
# example: inspect_output("$item_name1%$item_name2%$item_name3")
# Note: The inspection task definition script must use the inspect_output function.
def inspect_output(msg):
    print("### ####end")
    print("inspect_output:{msg} end".format(msg=msg))
    print("###end")
 
# Note:script content in the main function. Ensure that you call function success or failure.Otherwise, the system cannot capture the script output information.
def main():
    # Note: if output logs are needed, direct print(xxx) can be used.
    pass

if __name__ == "__main__":
    main()

답변1

디렉토리가 "그냥" 디렉토리인지 확인하고 싶거나 마운트 지점으로 사용되는 경우 패키지 mountpoint에 있는 도구를 사용할 수 있습니다 util-linux.

사용예

  • 간단한 디렉토리
    ~$ mkdir testdir
    ~$ mountpoint testdir
    testdir is not a mountpoint
    
  • 파일 시스템을 디렉토리에 마운트
    ~$ sudo mount /my/external/filesystem testdir
    ~$ mountpoint testdir
    testdir is a mountpoint
    

자동화된 테스트를 위해 쉘 스크립트에서 사용하려는 경우 자동 모드도 사용할 수 있습니다.

if mountpoint -q testdir
then
    # perform operations on the mounted filesystem
else
    echo "Error, nothing mounted on testdir!"
fi

답변2

내가 이해한 것이 맞다면 이 디렉터리에 데이터를 쓰기 전에 모든 것이 올바르게 설치되었는지 확인해야 합니다. 이것이 맞다면 마운트하기 전에 디렉토리에 불변 플래그를 설정하는 것이 좋습니다. 예는 다음과 같습니다.

[user@host ~]$ mkdir ./1 && sudo chattr +i ./1
[user@host ~]$ sudo touch 1/test.txt
touch: cannot touch ‘1/test.txt’: Permission denied
[user@host ~]$ sudo mount -t tmpfs none 1
[user@host ~]$ touch 1/test.txt && ls -l 1/test.txt
-rw-r--r-- 1 user group 0 Aug 18 10:49 1/test.txt

관련 정보