Copie do linux para o Windows a cada minuto

5

Atualmente, eu rapidamente configuro uma maneira de copiar arquivos da minha máquina Linux para um compartilhamento do Windows que várias pessoas podem acessar, mas estou procurando uma maneira melhor.

No Windows 7, tornei uma pasta acessível a todos.

No linux, eu fiz o diretório / mnt / windows_share e montei o compartilhamento do windows usando o samba:

sudo mount -t cifs -o username=mouche,password=1234 //COMPUTERNAME/share_dir /mnt/windows_share

Então eu executei este script usando o sudo no diretório do qual eu quero copiar arquivos:

#!/usr/bin/perl -w
while (1)
{
    system("cp -u * /mnt/windows_share/");
    sleep 1;
}

Um problema com isso é que ele atualiza as propriedades do Windows "Date Modified" toda vez que é atualizado, mesmo que eu tenha adicionado a opção -u ao cp. Além disso, se a máquina for reinicializada, o comando mount e o script deverão ser executados novamente (com sudo, portanto, você precisa saber a senha).

Alguma sugestão sobre como melhorar este processo?

    
por mouche 01.04.2011 / 08:40

2 respostas

10

Você deve tentar o rsync em vez do cp: rsync -avz linux_path /mnt/windows_share/ e crontab em vez do loop perl: crontab -e e adicione a seguinte linha a ele:

* * * * * rsync -avz linux_path /mnt/windows_share/

Ele será executado a cada minuto, e se for uma opção no seu caso, é mais robusto que o loop while.

    
por 01.04.2011 / 09:10
2

Você pode evitar ter que remontar o compartilhamento (e também permitir que ele seja montado por contas de usuário sem privilégios) adicionando-o ao fstab (/ etc / fstab).

    
por 01.04.2011 / 11:48