Robocopy exclui o diretório na estrutura de arquivos recursiva

3

Esta parece ser uma questão popular na net, mas todo mundo parece estar bem em ser capaz de especificar apenas uma parte do caminho completo, a fim de conseguir um tipo de curinga. Eu preciso ser mais específico, eu acho, já que eu tenho uma estrutura de arquivos recursiva, e não posso usar / XJ.

Contexto

Executamos backups noturnos em todos os nossos servidores a partir de um servidor de arquivos do Windows 2008, que executa scripts robocopy para executar backups diferenciais por meio de compartilhamentos de arquivos do Samba. O backup específico com o qual estou tendo problemas é para um servidor da Web compartilhado com Linux.

O peculiar de fazer backup desse servidor em particular é que ele está usando uma estrutura de arquivos recursiva, usando links simbólicos. A razão para isso é que o servidor está executando o suPHP em uma jaula chroot, e uma estrutura de arquivos recursiva é necessária para enganar o suPHP ao trabalho.

Um exemplo da estrutura de diretórios é o seguinte:

Home directory for user: /home/websites/wwww.customersite.com/home/wwww.customersite.com/

Their website is in: /home/websites/www.customersite.com/home/www.customersite.com/public_html/

The recursion begins at: /home/websites/www.customersite.com/home/websites/

E quando essa recursão começa, no log do meu robocopy eu vejo entradas assim:

\10.230.0.25\backup-share\home\websites\customer\home\websites\customer\home\websites\customer\home\websites\customer\home\websites\customer\home\websites\customer...

Agora, parece que continua assim por um tempo e, em seguida, atinge algum limite de profundidade de diretório e, na verdade, faz o backup do arquivo. Mas eu gostaria de me livrar disso, pois está fazendo com que os backups sejam executados no dia-a-dia de forma bastante extensa e, sem dúvida, colocando carga extra no servidor.

...\home\websites\customer\home\websites\customer\home\websites\customer\home\customer\public_html\administrator\components\com_jce\img\

O que eu tentei

Eu vi esse tipo de problema de estrutura de arquivos recursiva usando o robocopy antes de copiar de sistemas baseados no Windows Vista +. Por exemplo, esse problema ao fazer o backup de C: \ Users:

link

Como mencionado, já consegui usar / XJ para resolver o problema. No entanto, acredito que, como os arquivos estão sendo copiados de um sistema Linux , o sym-link recursivo não aparece como um ponto de junção para o robocopy.

Ainda não encontrei uma maneira de fazer com que o sym-link apareça como pontos de junção.

É claro que também não vejo como usar / XD aqui, pois preciso fazer backup de todos os dados em / home / websites / assim, fazer / XD / home / websites / certamente anularia o backup dessa pasta.

Idealmente, eu gostaria de algo como:

/XD /home/websites/.+/home/websites/.+

Ou apenas:

/XD /home/websites/.+/home/websites/

Qualquer ajuda apreciada.

Obrigado!

    
por Geekman 04.01.2013 / 02:22

2 respostas

1

Talvez um trabalho do rsync cron no servidor linux que o despeje em um tar que seu robocopy pode pegar? Então você pode simplesmente excluir todo esse caminho original.

Para mim, faço o seguinte:

Eu tenho alguns servidores Linux onde eu só preciso de ETC e algumas pastas de backup. Eu faço um rsync para tar e, em seguida, uso o PSCP para simplesmente pegar o arquivo tar (uma vez que ele irá mudar todas as noites). Então meu script PSCP exclui qualquer coisa que tenha sido capturada ao longo de 7 dias (já que os backups do Windows capturam a pasta "dumping", portanto, tecnicamente eu tenho backups do backup externo.

Espero que ajude.

    
por 18.07.2014 / 15:02
1

você leu isto: link ?

eu tentei isso no meu pc e funcionou! antes de fazer alguns dirs para copiar:

cd c:\temp
mkdir source
cd source
for %i in (user1 user2 user3) do (mkdir %i\source %i\others)

ok? então eu quero copiar tudo, exceto os usuários * \ source, certo?

cd c:\temp
robocopy source dest /mir /r:1 /w:1 /xd source
    
por 25.04.2013 / 14:52