現在、Linuxシステムで複数のユーザーがアクセスできるWindows共有にファイルをコピーする方法を設定する簡単な方法がありますが、より良い方法を探しています。
Windows 7では、誰でもアクセスできるフォルダを作成しました。
Linuxでは、/mnt/windows_shareディレクトリを作成し、sambaを使用してWindows共有をマウントしました。
sudo mount -t cifs -o username=mouche,password=1234 //COMPUTERNAME/share_dir /mnt/windows_share
次に、ファイルをコピーするディレクトリでsudoを使用してこのスクリプトを実行します。
#!/usr/bin/perl -w
while (1)
{
system("cp -u * /mnt/windows_share/");
sleep 1;
}
これに関する問題の1つは、cpに-uオプションを追加しても、すべての更新でWindowsの「変更日」プロパティを更新することです。また、マシンが再起動したら、mountコマンドとスクリプトを再実行する必要があります(sudoを使用するため、パスワードを知る必要があります)。
このプロセスを改善する方法についての提案はありますか?
答え1
cp:代わりにrsyncを試して、rsync -avz linux_path /mnt/windows_share/
perl loop:代わりにcrontabを試して、crontab -e
次の行を追加する必要があります。
* * * * * rsync -avz linux_path /mnt/windows_share/
毎分実行され、オプションがある場合はwhileループよりも強力です。
答え2
fstab(/etc/fstab)に共有を追加すると、共有の再マウントを防ぐことができます(権限のないユーザーアカウントがそれをマウントできるようにします)。