Drkcore

08 08 2017 Python Tweet

手元のファイルをサーバーに送ってさらにサーバーでシンボリックリンクを張る(Pythonで)

Windowsの共有フォルダはCIFSを使ってLinuxにマウントすればいいということをちょっと前に知って、それ以来Windowsの共有フォルダを監視しつつ、ゴニョゴニョするようなサービスを幾つか作っている。メリット・デメリットはあるけど、ウェブブラウザのフォームを頑張るよりも楽なタスクも結構あるのではないかなと思う。

でクライアントのLinuxマシンから共有ディレクトリをマウントしておいて、適当なトリガーでフォルダの中身を漁って必要な情報をサーバーのデータベースに登録したり、ファイルをpushしたりするのはscp使えばなんとでもなって、pythonでやるんだったらparamiko使うのが普通だと思うんだが、送るファイル名に整合性がなくてシンボリックリンクを張ってキレイな別名をつけたくなった。

ま、sshからln -sっぽいことすればいいのかなと思ったら違った。sftp使うみたい

ssh = SSHClient()
ssh.set_missing_host_key_policy(AutoAddPolicy())
ssh.connect(host)
scp = SCPClient(ssh.get_transport())

scp.put(source, dest)
sftp = ssh.open_sftp()
sftp.symlink(dest, symlink)

最後の二行でシンボリックリンク張ってます。

ところで、最近コードのエントリあげてないなと思ったので調べたら、全然書いてないじゃないか…

About

  • もう5年目(wishlistありマス♡)
  • 最近はPythonとDeepLearning
  • 日本酒自粛中
  • ドラムンベースからミニマルまで
  • ポケモンGOゆるめ

Tag

Python Deep Learning javascript chemoinformatics Emacs sake and more...

Ad

© kzfm 2003-2021