私は現在、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を使用するため、パスワードを知っている必要があります)。
このプロセスを改善する方法について何か提案はありますか?
Cpの代わりにrsyncを試す必要があります:rsync -avz linux_path /mnt/windows_share/
およびPerlループの代わりにcrontab:crontab -e
そしてそれに次の行を追加します:
* * * * * rsync -avz linux_path /mnt/windows_share/
これは毎分実行される予定であり、それがあなたの場合のオプションである場合は、whileループよりも堅牢です。
共有をfstab(/ etc/fstab)に追加することで、共有を再マウントする必要をなくすことができます(また、非特権ユーザーアカウントによるマウントを許可することもできます)。