O sistema de arquivos em si provavelmente não pode ser copiado online, já que está mudando o tempo todo.
Você pode copiar os arquivos, preservando praticamente tudo sobre cada arquivo, dentro do sistema de arquivos com bastante facilidade. Experimente rsync
do seu servidor dedicado:
rsync -avzHXShPs --exclude sys/ --exclude dev/ --exclude proc/ root@VPS:/ /path/to/backup_folder/
, onde VPS
é o endereço IP do seu VPS e /path/to/backup_folder/
é a pasta de destino em seu servidor dedicado.
Se o seu VPS tiver uma porta SSH diferente, você pode fazer isso:
rsync -avzHXShPs -e "ssh -p PORT" --exclude sys/ --exclude dev/ --exclude proc/ root@VPS:/ /path/to/backup_folder/
, em que PORT
é o número da porta personalizada.
Se você quiser transferir quaisquer arquivos alterados desde o início da transferência de arquivos, basta executar o mesmo comando novamente. Se os arquivos foram excluídos do VPS e você deseja que os arquivos excluídos sejam removidos do backup em seu servidor dedicado, basta adicionar o sinalizador --delete
à linha rsync
.
Explicação
rsync
flags
-
-a
significa "arquivo", que contém a maioria das configurações para fazer cópias quase exatas de todos os arquivos em uma pasta especificada (no seu caso,/
no VPS). -
-v
significa "detalhado". Ele mostrará informações detalhadas sobre o que está sendo copiado. -
-z
significa "comprimir", o que é útil ao copiar na rede, pois a velocidade da rede é geralmente mais lenta do que as unidades, e você pode economizar tempo enviando dados compactados pela rede. -
-H
significa "links físicos", que preservam os links físicos, se eles forem importantes para você. -
-X
significa "atributos estendidos", que preserva os atributos estendidos. Isso não funciona em todos os sistemas de arquivos, masrsync
continuará, mesmo se houver erros ao copiar os atributos estendidos. -
-S
significa "esparso", o que é muito útil para acelerar a transferência de arquivos que contêm muitos zeros binários. -
-h
significa "legível por humanos", que produz informações legíveis por humanos durante a transferência. -
-s
significa "proteger argumentos", útil apenas se seus argumentos de origem ou destino tiverem espaços no caminho.
Eu tenho uma tecla de atalho para digitar essa linha rsync
porque copio muito os dados e é conveniente ter todos esses sinalizadores na maior parte do tempo.
rsync
exclui
-
--exclude sys/
exclui asysfs
de montagem em/sys
. Sem isso, você pode encontrar algumas estranhezas como recursão infinita ou arquivos de tamanho infinito. -
--exclude dev/
exclui adevtmpfs
de montagem em/dev
, o que não seria útil em seu servidor dedicado (e pode até ser a risco de segurança , pois os dispositivos são completamente diferentes nos dois servidores diferentes. -
--exclude proc/
exclui aproc
de montagem em/proc
. As informações do sistema nesta pasta aplicam-se apenas ao servidor original.