2024年10月18日金曜日

Python から NASへアクセス

Python から NAS へアクセスする必要が出てきました。

Windowsであれば問題にならないのですが、Ubuntu だとマウントが必要です。
CIFSを利用します。コマンド打ちの方が圧倒的にシンプルです。

$ sudo apt install cifs-utils
$ sudo mount -t cifs //[nas_ip]/[nas_share] /mnt/[name] -o user="user_name",pass="nas_password"

どうしても Python スクリプト内で実施する必要がある場合は以下。

  1. import subprocess
  2. #マウントディレクトリを作成。
  3. mount_point = "/mnt/[name]"
  4. subprocess.run(["sudo", "mkdir", "-p", mount_point],
  5. input=[sudo_password].encode(),
  6. stdout=subprocess.PIPE,
  7. stderr=subprocess.PIPE)
  8. #CIFS共有をマウント
  9. mount_cmd = ["sudo", "mount", "-t", "cifs",
  10. f"//{nas_ip}/{nas_share}",
  11. mount_point,
  12. "-o",
  13. f"user={user_name}, pass={nas_password}"]
  14. subprocess.run(mount_cmd,
  15. input=[sudo_password].encode(),
  16. stdout=subprocess.PIPE,
  17. stderr=subprocess.PIPE)


0 件のコメント:

コメントを投稿