何らかの自動化を使用してバックアップ ファイルを Mac にコピーできるように、Mac 上の共有ディレクトリを Ubuntu サーバー上のフォルダーにマウントしたいと考えています。
自動化作業全体を開始する前に、ディレクトリを手動でマウントできるようにしたいと思います。
ああ、私はどれだけ Google で検索したのでしょう! マウント コマンドの多くのバージョンを見つけました。最もうまく機能したバージョン (つまり、パスワードを尋ねられ、その答えに異議を唱えなかったバージョン) は次のとおりでした。
sudo mount -o user=**** //192.168.1.4/server_backups /files/mountpoint
次のエラーが発生しました:
mount error(95): Operation not supported
正しい方向に進んでいるでしょうか? コマンドのさまざまなバージョンを試しました。認証に失敗するか、上記のエラーが発生します。
ご協力やアドバイスをいただければ幸いです。
ありがとう、
サイモン。
答え1
SSHFS を使用して SSH ロケーションをマウントする方法。
ステップ1:
- 「Mac で、まだ開いていない場合は共有環境設定を開き、リモート ログインを選択します。リモート ログインを選択すると、セキュア FTP (sftp) サービスも有効になります。」
ステップ2:
- Ubuntu から SSHFS をインストールします
sudo apt-get install sshfs
。 - マウントポイントを作成します。
#mkdir /mnt/macMount
- SSHフォルダをマウントする
#sshfs [email protected]:/ /mnt/macMount/
- そして、それが機能しているかどうかを確認します。
cd /mnt/macMount
そして、ls
物事が正しい場所にあることを確認します。
答え2
Macへのバックアップを自動化したい場合、共有フォルダは最適な方法ではありません
代わりに、Mac で SSH を有効にして、バックアップを転送します。
「システム環境設定」に移動します。「インターネットとネットワーク」の下に「共有」アイコンがあります。それを実行します。表示されるリストで、「リモート ログイン」をチェックします。
自動化を使用したいので、これは非常に役立ちます。
UbuntuコンピュータからMacにフォルダをコピーする方法の例を示します
rsync -azvr /path/to/source/folder MAC:/path/to/where/you/want/to/saveit/
ここで、MAC は Mac の IP アドレスです。rsync の良いところは、このコマンドを再実行すると、ソース ディレクトリから変更されたファイルのみが Mac にコピーされるため、時間と帯域幅が節約されることです。
zフラグは圧縮を追加します。映画、画像、mp3などのすでに圧縮されたファイルを大量にコピーする場合、これを使用しても速度は上がりません。
GUIからコンピュータを参照できるように、何らかのドライブマッピングが必要な場合は、sshfsを使用してssh経由で実行することもできます。
Ubuntuコンピュータにsshfsをインストールします。次に、ユーザーをfuseグループに追加し、最後にリモートサーバーをマウントします。
ターミナルから:
sudo apt-get install sshfs # install sshfs
mkdir macfolder
sshfs username@MAC:/ macfolder
macのルートファイルシステムをmacfolderフォルダの下にマウントします
答え3
これが最善の方法かどうかは別として、多くの苦労と努力とグーグル検索の末、Ubuntu 14.04 から OS X 10.9.5 共有に接続することで、最終的にこれが私にとってはうまくいきました。
sudo mount -t cifs //192.168.0.101/ShareName /media/localsharedir -o noauto,user,credentials=/home/myself/.smb-credentials,noperm,uid=myself,gid=myself,sec=ntlmssp,nounix
OS X が提供する共有をマウントする際に問題が発生する人のために、ここに残しておきます。
すべてのオプションが必須かどうかはわかりません-o
。私が読んだところによると、sec=ntlmssp,nounix
必要なのは だけですが、それだけでは私の環境では機能しませんでした。
自分で作成し、所有権を設定する必要がありました/media/localsharedir
。
私の.smb-credentials
ファイルには次のものだけが含まれています:
username=my_os_x_username
password=my_os_x_password
ワークグループ/ドメインが指定されていません。
頑張ってください。
答え4
デール・アンダーソンの答えは私にとっては役に立ったウブントゥ 16.04接続するmacOS 10.12.6 (シエラ)。
私はかなり長い間、これを実現する方法を探していましたが、成功しませんでした。macOS が何らかの形で Linux を除外するように更新されたためか、macOS を手動でハッキングする必要があるため、不可能だと思っていました (これについて言及している回答をいくつか見ました)。
それは簡単ではなかったが不可能ではなかったことがわかり、デールは答えを持っていました。
Mac の IP アドレスは必要なく、macOS のユーザー名とパスワードをローカル テキスト ファイルに保存する必要もありません (これは危険だと思います)。Mac のマシン名と macOS ユーザー名を含む次のコマンドを使用すると、ユーザーのパスワードの入力を求められます。
sudo mount -t cifs //MacBook-CT.local/Projects mnt/projectsmac -o noauto,user,username=christopher,noperm,uid=ct,gid=ct,sec=ntlmssp,nounix
自分のホーム ディレクトリ内にあるマウント ディレクトリを使用しているので、これはタイプミスではないことに注意してください(ホーム ディレクトリの下のディレクトリ内にディレクトリmnt/projectsmac
があります)。projectsmac
mnt
「christopher」はmacOSのユーザー名で、「ct」はUbuntuのユーザー名です。
また、Mac のマシン名も問題の原因となる可能性があります。私の Mac の名前は実際には「MacBook_CT」ですが、Linux コマンドでは使用できません。ネットワーク経由で使用する必要がある名前を確認するには、Mac の共有環境設定を開きます。
さらに進んで、マウント コマンドに Mac ユーザーのパスワードを直接入力することもできます。
sudo mount -t cifs //MacBook-CT.local/Projects mnt/projectsmac -o noauto,user,username=christopher,password="12345678",noperm,uid=ct,gid=ct,sec=ntlmssp,nounix
このコマンドをスクリプトに埋め込む場合には、これが実用的かもしれません。