Web Development · 6 min read · Feb 14, 2026
Mantendo sites remotos com sitecopy no Ubuntu 16.04
sitecopy é uma ferramenta para copiar sites armazenados localmente para um servidor web remoto (usando FTP ou WebDAV). Ela ajuda você a manter o site remoto sincronizado com sua cópia local, fazendo o upload de arquivos locais modificados e excluindo arquivos remotos que foram deletados no computador local. Este tutorial mostra como você pode gerenciar seu site web remoto a partir de sua área de trabalho local Ubuntu 16.04 com sitecopy.
1 Nota Preliminar
Estou usando o nome de usuário till na minha área de trabalho local Ubuntu (estou logado na minha área de trabalho Linux local como esse usuário - por favor, não faça login como root). Os arquivos para o site remoto example.com estão armazenados no diretório /home/till/sites/example.com/ no computador local. A raiz do documento remoto é /var/www/example.com/web/.
Você pode usar sitecopy com FTP e WebDAV, então você deve ter uma conta FTP ou WebDAV no servidor remoto. Estou usando o nome de usuário FTP defaulttill e a senha howtoforge aqui.
O site remoto que estou usando para estes exemplos foi criado com ISPConfig. Mas qualquer site onde você tenha acesso FTP ou WebDAV funcionará.
2 Instalando sitecopy
Sitecopy pode ser instalado na área de trabalho local da seguinte forma (precisamos de privilégios de root, portanto usamos sudo):
sudo apt-get -y install sitecopyAgora você deve dar uma olhada na página de manual do sitecopy para se familiarizar com suas opções:
man sitecopy3 Configurando sitecopy
Vá para seu diretório home na área de trabalho local…
cd ~… e crie o diretório .sitecopy com permissões de 700 (sitecopy usa esse diretório para armazenar detalhes dos arquivos):
mkdir -m 700 .sitecopyEm seguida, crie o arquivo de configuração do sitecopy .sitecopyrc:
touch .sitecopyrc
chmod 600 .sitecopyrcAbra o arquivo…
nano .sitecopyrc… e preencha a configuração para o site example.com. Aqui estão dois exemplos, um para FTP…
site example.com
server example.com
username defaulttill
password howtoforge
local /home/till/sites/example.com/
remote ~/web/
exclude *.bak
exclude *~… e um para WebDAV:
site example.com
server example.com
protocol webdav
username defaulttill
password howtoforge
local /home/till/sites/example.com/
remote /var/www/example.com/web/
exclude *.bak
exclude *~(Você pode definir uma estrofe para cada site que deseja gerenciar com sitecopy.)
A diretiva site deve ser seguida por um nome para o site - você pode escolher um livremente, por exemplo, example.com ou mysite. Este nome será usado mais tarde nos comandos do sitecopy. As seguintes opções de configuração que pertencem a esse site devem ser indentadas!
A maioria das opções de configuração a seguir são autoexplicativas. O protocolo padrão é FTP; se você quiser usar WebDAV, por favor, especifique o protocolo webdav. A diretiva local contém o caminho local da cópia do site, remoto contém o caminho do site no servidor remoto - pode ser absoluto ou relativo. Se seu usuário estiver chrooted (como é normalmente o caso com usuários FTP), você deve usar um caminho relativo (como ~/ ou ~/web). Caso contrário, use um caminho absoluto.
As linhas de exclusão são opcionais, elas estão aqui apenas para demonstrar como você pode excluir arquivos de serem mantidos pelo sitecopy.
Você pode descobrir mais sobre a configuração do sitecopy em sua página de manual:
man sitecopy4 Primeiro Uso
Antes de usar o sitecopy pela primeira vez, você deve decidir qual dos seguintes três cenários corresponde à sua situação:
- Site remoto existente e cópia local, ambos em sincronia.
- Site remoto existente, sem cópia local.
- Novo site remoto, cópia local existente.
4.1 Site Remoto Existente e cópia local, ambos em sincronia
Se tanto o site remoto quanto a cópia local existem e estão em sincronia, execute
sitecopy --catchup example.compara fazer o sitecopy pensar que o site local é exatamente o mesmo que a cópia remota. Substitua example.com pelo nome do site que você usa no arquivo .sitecopyrc.
till@ubuntu-desktop:~$ sitecopy --catchup example.com
sitecopy: Catching up site `example.com' (on example.com in ~/web/)
sitecopy: All the files and and directories are marked as updated remotely.4.2 Site Remoto Existente, sem cópia local
Se você não tiver uma cópia local do site web remoto existente, execute
sitecopy --fetch example.comprimeiro para que o sitecopy busque a lista de arquivos do servidor remoto (substitua example.com pelo nome do site que você usa no arquivo .sitecopyrc):
till@ubuntu-desktop:~$ sitecopy --fetch example.com
sitecopy: Fetching site `example.com' (on example.com in ~/web/)
File: error/503.html - size 1906
File: error/502.html - size 1881
File: error/500.html - size 1851
File: error/405.html - size 1810
File: error/404.html - size 1806
File: error/403.html - size 1809
File: error/401.html - size 1806
File: error/400.html - size 1792
File: stats/.htaccess - size 128
File: robots.txt - size 14
File: index.html - size 1861
File: favicon.ico - size 7358
File: .htaccess - size 26
Directory: error/
Directory: stats/
sitecopy: Fetch completed successfully.Em seguida, execute
sitecopy --synch example.compara atualizar o site local a partir da cópia remota.
sitecopy: Synchronizing site `example.com' (on example.com in ~/web/)
Creating error/: done.
Creating stats/: done.
Downloading error/503.html: [.] done.
Downloading error/502.html: [.] done.
Downloading error/500.html: [.] done.
Downloading error/405.html: [.] done.
Downloading error/404.html: [.] done.
Downloading error/403.html: [.] done.
Downloading error/401.html: [.] done.
Downloading error/400.html: [.] done.
Downloading stats/.htaccess: [.] done.
Downloading robots.txt: [.] done.
Downloading index.html: [.] done.
Downloading favicon.ico: [.] done.
Downloading .htaccess: [.] done.
sitecopy: Synchronize completed successfully.4.3 Novo Site Remoto, Cópia Local Existente
Se a cópia local existir, mas você tiver um site remoto vazio, execute
sitecopy --init example.comprimeiro para inicializar o site. Substitua example.com pelo nome do site que você usa no arquivo .sitecopyrc.
till@ubuntu-desktop:~$ sitecopy --init example.com
sitecopy: Initializing site `example.com' (on example.com in ~/web/)
sitecopy: All the files and directories are marked as NOT updated remotely.
Em seguida, execute:
sitecopy --update example.compara fazer o upload da cópia local para o site remoto:
till@ubuntu-desktop:~$ sitecopy --update example.com
sitecopy: Updating site `example.com' (on example.com in ~/web/)
Creating stats/: done.
Creating data/: done.
Creating error/: done.
Uploading stats/.htaccess: [.] done.
Uploading data/index.html: [.] done.
Uploading error/403.html: [.] done.
Uploading error/401.html: [.] done.
Uploading error/404.html: [.] done.
Uploading error/503.html: [.] done.
Uploading error/400.html: [.] done.
Uploading error/502.html: [.] done.
Uploading error/405.html: [.] done.
Uploading error/500.html: [.] done.
Uploading index.html: [.] done.
Uploading robots.txt: [.] done.
Uploading .htaccess: [.] done.
Uploading favicon.ico: [.] done.
sitecopy: Update completed successfully.5 Usando sitecopy
Depois disso, o uso do sitecopy é realmente fácil. Você pode trabalhar com sua cópia local e atualizar, criar e excluir arquivos. Um primeiro, mas opcional, passo é executar
sitecopy example.compara descobrir quais arquivos mudaram localmente (substitua example.com pelo nome do site que você usa no arquivo .sitecopyrc):
till@ubuntu-desktop:~$ sitecopy example.com
sitecopy: Showing changes to site `example.com' (on example.com in ~/web/)
* These items have been added since the last update:
info.php
sitecopy: The remote site needs updating (1 item to update).Para sincronizar seu site web remoto com sua cópia local (ou seja, fazer o upload de arquivos novos e alterados para o servidor remoto e excluir arquivos no servidor remoto que foram deletados localmente), você simplesmente executa
sitecopy --update example.comtill@ubuntu-desktop:~$ sitecopy --update example.com
sitecopy: Updating site `example.com' (on example.com in ~/web/)
Uploading info.php: [] done.
sitecopy: Update completed successfully.É isso! Divirta-se com o sitecopy!
6 Links
- sitecopy: http://www.manyfish.co.uk/sitecopy/
- Ubuntu: http://www.ubuntu.com/
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.