Jump to content
MostWanted12345

Ubuntu Server - Ajuda no backup de ficheiros do servidor para disco de rede

Recommended Posts

MostWanted12345

Boa noite =)

Chamo-me André e estou no 3º ano do Curso Profissional de Técnico de Gestão e Programação de Sistemas Informáticos, e como em qualquer outro curso profissional, no final do curso, temos que realizar uma PAP - Projecto de Aptidão Profissional. Eu decidi fazer um tipo de solução de copias de segurança.. então é assim:

  • Criei um site que o objectivo é guardar e partilhar documentos, no site podemos partilhar ou não, mas basicamente, era uma forma de guardar ficheiros sem ter o problema de os perder no futuro;
  • O site está alojado num servidor com o Ubuntu Server 10.04, ligado ao router, com o LAMP, Phpmyadmin, e basicamente tudo para o site estar completamente operacional;
  • No final, tenho um disco de rede externo, Media Network - 1TB IOMEGA, que também está ligado ao router, que o suposto era fazer diariamente, copias de segurança do servidor.

O único problema é que, como nunca mexi em ubuntu, e estou a começar a aprender (e a gostar ;)), não estou a conseguir copiar a pasta /var/www para o disco de rede...

Já andei a procura e já andei a mexer um bocadinho com openSSH , e com o rsync.. mas sinceramente, cada vez que tento alguma coisa aquilo da me erros, e não copia.. também tentei instalar o BackupPC, e consegui, só que acho que esse programa não consegue copiar os ficheiros do servidor para o disco de rede...

Basicamente, gostava de saber como fazer o backup do servidor para o disco de rede de forma automática.

Gostava muito que me pudessem ajudar, já que é só mesmo o que me falta para acabar este projecto :)

Obrigado

André

Share this post


Link to post
Share on other sites
gramer

sou estou a pensar que tal de criar um programa em bash que faca isso e coloca-lo quando o ubuntu incia de modo a que faca copias para esse disco

so estou a pensar porque se estivesse no teu caso era a tentativa

Share this post


Link to post
Share on other sites
Rui Carlos

Se a partir do servidor conseguires montar o disco de rede, é trivial fazer a cópia.

Um cronjob a executar um tar e um mv, e está o problema resolvido.

Também devem haver programas que fazem backups mais inteligentes, mas não uso nenhum programa de backup em linux neste momento.

Share this post


Link to post
Share on other sites
MostWanted12345

boas =)

obrigado por terem respondido tão rapidamente

gramer, eu já achei um artigo sobre isso http://www.portugal-a-programar.pt/index.php?showtopic=9141, só que não percebo como e que crio ficheiro, e como o ponho a funcionar.. acho que um dos problemas é estar a fazer mal a conexão com o disco de rede.. :/

Rui Carlos.. fiz uma pesquisa básica sobre cronjob.. e penso que é uma coisa parecida com o tópico que postei aqui.. mas a conexão com o disco é que ainda não percebo como fazer..

com o tutorial acima ja tentei fazer:

rsync -r -a -v -e "ssh -l docupserver" /var/www/ 192.168.0.10.:/backup/

mas sem sucesso :/..

agradecia qualquer ajuda =)

Share this post


Link to post
Share on other sites
Rui Carlos

Eu costumo usar um comando parecido com este para copiar coisas do disco do meu router para o pc:

rsync -r -v --copy-dirlinks --inplace --stats --progress -e ssh router:/opt/downloads/...  /Users/...

Tenho este comando definido num alias, e já nem sei muito bem para que é que servem as opções :\

Para copiar para o router deve ser só inverter a ordem dos últimos argumentos. No entanto, como corro esse comando no mac, pode ser que sejam necessárias mais alterações para que corra em Linux.

Já agora, quais são os erros que estás a ter?

Share this post


Link to post
Share on other sites
MostWanted12345

Boas =)

Desculpa tar a responder tão tarde, mas acabei de entrar em aulas, e ja tenho trabalhos de redes -.-

Ok.. eu tentei aquele comando que me mandaste:

rsync -r -v --copy-dirlinks --inplace --stats --progress -e ssh /var/www 192.168.0.10:/docup/

so que da este erro:

rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(601) [sender=3.0.7]

eu acho que ele consegue conectar com o router.. so acho que ha qualquer coisa mal com o comando, por isso, eu escrevi "rsync" no ubunto e ele deu me um monte de opções, gostava que pudesses ver o que se passa de mal, e já agora, como é que eu sei o significado dos erros que me são enviados..

-v, --verbose               increase verbosity
-q, --quiet                 suppress non-error messages
     --no-motd               suppress daemon-mode MOTD (see manpage caveat)
-c, --checksum              skip based on checksum, not mod-time & size
-a, --archive               archive mode; equals -rlptgoD (no -H,-A,-X)
     --no-OPTION             turn off an implied OPTION (e.g. --no-D)
-r, --recursive             recurse into directories
-R, --relative              use relative path names
     --no-implied-dirs       don't send implied dirs with --relative
-b, --backup                make backups (see --suffix & --backup-dir)
     --backup-dir=DIR        make backups into hierarchy based in DIR
     --suffix=SUFFIX         set backup suffix (default ~ w/o --backup-dir)
-u, --update                skip files that are newer on the receiver
     --inplace               update destination files in-place (SEE MAN PAGE)
     --append                append data onto shorter files
     --append-verify         like --append, but with old data in file checksum
-d, --dirs                  transfer directories without recursing
-l, --links                 copy symlinks as symlinks
-L, --copy-links            transform symlink into referent file/dir
     --copy-unsafe-links     only "unsafe" symlinks are transformed
     --safe-links            ignore symlinks that point outside the source tree
-k, --copy-dirlinks         transform symlink to a dir into referent dir
-K, --keep-dirlinks         treat symlinked dir on receiver as dir
-H, --hard-links            preserve hard links
-p, --perms                 preserve permissions
-E, --executability         preserve the file's executability
     --chmod=CHMOD           affect file and/or directory permissions
-A, --acls                  preserve ACLs (implies --perms)
-X, --xattrs                preserve extended attributes
-o, --owner                 preserve owner (super-user only)
-g, --group                 preserve group
     --devices               preserve device files (super-user only)
     --specials              preserve special files
-D                          same as --devices --specials
-t, --times                 preserve modification times
-O, --omit-dir-times        omit directories from --times
     --super                 receiver attempts super-user activities
     --fake-super            store/recover privileged attrs using xattrs
-S, --sparse                handle sparse files efficiently
-n, --dry-run               perform a trial run with no changes made
-W, --whole-file            copy files whole (without delta-xfer algorithm)
-x, --one-file-system       don't cross filesystem boundaries
-B, --block-size=SIZE       force a fixed checksum block-size
-e, --rsh=COMMAND           specify the remote shell to use
     --rsync-path=PROGRAM    specify the rsync to run on the remote machine
     --existing              skip creating new files on receiver
     --ignore-existing       skip updating files that already exist on receiver
     --remove-source-files   sender removes synchronized files (non-dirs)
     --del                   an alias for --delete-during
     --delete                delete extraneous files from destination dirs
     --delete-before         receiver deletes before transfer, not during
     --delete-during         receiver deletes during transfer (default)
     --delete-delay          find deletions during, delete after
     --delete-after          receiver deletes after transfer, not during
     --delete-excluded       also delete excluded files from destination dirs
     --ignore-errors         delete even if there are I/O errors
     --force                 force deletion of directories even if not empty
     --max-delete=NUM        don't delete more than NUM files
     --max-size=SIZE         don't transfer any file larger than SIZE
     --min-size=SIZE         don't transfer any file smaller than SIZE
     --partial               keep partially transferred files
     --partial-dir=DIR       put a partially transferred file into DIR
     --delay-updates         put all updated files into place at transfer's end
-m, --prune-empty-dirs      prune empty directory chains from the file-list
     --numeric-ids           don't map uid/gid values by user/group name
     --timeout=SECONDS       set I/O timeout in seconds
     --contimeout=SECONDS    set daemon connection timeout in seconds
-I, --ignore-times          don't skip files that match in size and mod-time
     --size-only             skip files that match in size
     --modify-window=NUM     compare mod-times with reduced accuracy
-T, --temp-dir=DIR          create temporary files in directory DIR
-y, --fuzzy                 find similar file for basis if no dest file
     --compare-dest=DIR      also compare destination files relative to DIR
     --copy-dest=DIR         ... and include copies of unchanged files
     --link-dest=DIR         hardlink to files in DIR when unchanged
-z, --compress              compress file data during the transfer
     --compress-level=NUM    explicitly set compression level
     --skip-compress=LIST    skip compressing files with a suffix in LIST
-C, --cvs-exclude           auto-ignore files the same way CVS does
-f, --filter=RULE           add a file-filtering RULE
-F                          same as --filter='dir-merge /.rsync-filter'
                             repeated: --filter='- .rsync-filter'
     --exclude=PATTERN       exclude files matching PATTERN
     --exclude-from=FILE     read exclude patterns from FILE
     --include=PATTERN       don't exclude files matching PATTERN
     --include-from=FILE     read include patterns from FILE
     --files-from=FILE       read list of source-file names from FILE
-0, --from0                 all *-from/filter files are delimited by 0s
-s, --protect-args          no space-splitting; only wildcard special-chars
     --address=ADDRESS       bind address for outgoing socket to daemon
     --port=PORT             specify double-colon alternate port number
     --sockopts=OPTIONS      specify custom TCP options
     --blocking-io           use blocking I/O for the remote shell
     --stats                 give some file-transfer stats
-8, --8-bit-output          leave high-bit chars unescaped in output
-h, --human-readable        output numbers in a human-readable format
     --progress              show progress during transfer
-P                          same as --partial --progress
-i, --itemize-changes       output a change-summary for all updates
     --out-format=FORMAT     output updates using the specified FORMAT
     --log-file=FILE         log what we're doing to the specified FILE
     --log-file-format=FMT   log updates using the specified FMT
     --password-file=FILE    read daemon-access password from FILE
     --list-only             list the files instead of copying them
     --bwlimit=KBPS          limit I/O bandwidth; KBytes per second
     --write-batch=FILE      write a batched update to FILE
     --only-write-batch=FILE like --write-batch but w/o updating destination
     --read-batch=FILE       read a batched update from FILE
     --protocol=NUM          force an older protocol version to be used
     --iconv=CONVERT_SPEC    request charset conversion of filenames
-4, --ipv4                  prefer IPv4
-6, --ipv6                  prefer IPv6
     --version               print version number
(-h) --help                  show this help (-h works with no other options)

Share this post


Link to post
Share on other sites
MostWanted12345

Como vejo isso no router?  :S

eu fui ao meu router.. Netgear CVG834G e dpois fui ao "Event Log"..o que tinha lá era:

Time 	 Priority 	 Description 
Fri Apr 29 13:15:58 2011  	 Critical (3) 	 Started Unicast Maintenance Ranging - No Response received - ... 
Wed Apr 27 19:53:18 2011  	 Warning (5) 	 DHCP RENEW WARNING - Field invalid in response 
Wed Apr 27 04:16:46 2011  	 Critical (3) 	 Started Unicast Maintenance Ranging - No Response received - ... 
Sat Apr 23 23:52:22 2011  	 Error (4) 	 Service Change aborted - No RSP 
Sat Apr 23 23:52:16 2011  	 Critical (3) 	 Started Unicast Maintenance Ranging - No Response received - ... 
Sat Apr 23 19:53:18 2011  	 Warning (5) 	 DHCP RENEW WARNING - Field invalid in response 
Sat Apr 23 18:45:43 2011  	 Critical (3) 	 Started Unicast Maintenance Ranging - No Response received - ... 
Time Not Established 	 Critical (3) 	 DHCP WARNING - Non-critical field invalid in response. 
Time Not Established 	 Critical (3) 	 No Ranging Response received - T3 time-out 
Time Not Established 	 Critical (3) 	 DHCP WARNING - Non-critical field invalid in response. 
Time Not Established 	 Critical (3) 	 No Ranging Response received - T3 time-out 
Time Not Established 	 Critical (3) 	 Init RANGING Critical Ranging Request Retries exhausted 
Time Not Established 	 Critical (3) 	 No Ranging Response received - T3 time-out 
Time Not Established 	 Critical (3) 	 Init RANGING Critical Ranging Request Retries exhausted 
Time Not Established 	 Critical (3) 	 No Ranging Response received - T3 time-out 
Time Not Established 	 Critical (3) 	 Init RANGING Critical Ranging Request Retries exhausted 
Time Not Established 	 Critical (3) 	 No Ranging Response received - T3 time-out 
Time Not Established 	 Critical (3) 	 Init RANGING Critical Ranging Request Retries exhausted 
Time Not Established 	 Critical (3) 	 No Ranging Response received - T3 time-out 
Time Not Established 	 Critical (3) 	 Init RANGING Critical Ranging Request Retries exhausted 
Time Not Established 	 Critical (3) 	 No Ranging Response received - T3 time-out 
Time Not Established 	 Critical (3) 	 Init RANGING Critical Ranging Request Retries exhausted 
Time Not Established 	 Critical (3) 	 No Ranging Response received - T3 time-out 
Time Not Established 	 Critical (3) 	 Init RANGING Critical Ranging Request Retries exhausted 
Time Not Established 	 Critical (3) 	 No Ranging Response received - T3 time-out 
Time Not Established 	 Critical (3) 	 Received Response to Broadcast Maintenance Request, But no Un... 
Time Not Established 	 Critical (3) 	 Started Unicast Maintenance Ranging - No Response received - ... 
Time Not Established 	 Critical (3) 	 No Ranging Response received - T3 time-out 
Time Not Established 	 Critical (3) 	 DHCP WARNING - Non-critical field invalid in response. 
Time Not Established 	 Critical (3) 	 No Ranging Response received - T3 time-out 
Mon Apr 18 08:17:46 2011  	 Critical (3) 	 Started Unicast Maintenance Ranging - No Response received - ... 
Time Not Established 	 Critical (3) 	 DHCP WARNING - Non-critical field invalid in response. 

não sei se era isso que querias :/

Share this post


Link to post
Share on other sites
Rui Carlos

Era mais os logs do daemon do rsync. Não sei onde é que eles estão. Só procurando.

Já agora, tens acesso ssh ao router? E o router tem o rsync instalado?

Share this post


Link to post
Share on other sites
MostWanted12345

:S ia pah..

como é que o router tem ssh ou rsync? oO? eu nao tenho nada disso no router e nem sei se ele tem isso...

eu so quero é fazer o comando para fazer o backup do servidor para o disco externo, para quê o router?

(meanwhile, ando a procura do log do rsync --deamon)

Share this post


Link to post
Share on other sites
Rui Carlos

A questão é como é que acedes ao disco do router.

As soluções que têm vindo a ser apresentadas, funcionam com o ssh. Aparentemente o problema é que não tens o ssh a funcionar no router.

Normalmente como é que acedes ao disco do router (se é que já conseguiste aceder)? Samba? NFS?

Share this post


Link to post
Share on other sites
apocsantos

    Boa noite,

    Esses routers não têm rsync deamon, basicamente no "firmware" deles está um mini httpd e uma versão "hiper reduzida" do samba.

    Se consegues aceder ao disco apartir do servidor linux, podes criar um script para fazer o backup e coloca-lo na crontab, para ser executado automaticamente.

    Como te foi perguntado, primeiro vê se consegues aceder ao disco mapeando-o como unidade de rede. Caso consigas mais simples fica de te ajudar.

Cordiais cumprimentos,

Apocsantos

   


"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Share this post


Link to post
Share on other sites
taviroquai

Viva,

Estava a ler esta thread... então mas não acedes directamente ao disco pela rede? O disco não ganha um IP? Não percebo porque falam no router...

O rsync deve funcionar... algum parametro está mal...

Share this post


Link to post
Share on other sites
MostWanted12345

Rui Carlos, eu consigo aceder ao disco apartir do windows xp quando no browser ponho o ip do disco de rede, 192.168.0.10, ou quando escrevo \\Iomega\Docup

eu acho que o router nao consegue ter ssh ... no ubunto, nao sei como aceder ao disco..

apocsantos, pois, eu acho que o router que tenho nao tem/nao pode ter o ssh, ou rsync..

isso do crontab..http://service.futurequest.net/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=30 já andei a ver e sim, supostamente, isso vai ser o que vou usar para fazer a rotina de 24 em 24 horas, para o comando de backup..

taviroquai, exactamente isso, eu nao sei pq e que precisamos do router.. tp temos o ip do servidor,, "192.168.0.15", ip do disco "192.168.0.10", mas o comando rsync nao funca :/...

Obrigado a todos :(

Share this post


Link to post
Share on other sites
MostWanted12345

experimentei agora este codigo

rsync -r -v -e ssh /var/www/ 192.168.0.10:/docup/

e ele retornou-me isto

ssh: connect to host 192.168.0.10 port 22: Connection refused
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(601) [sender=3.0.7]

então, eu fui ao router, e abri a porta 22 desse ip.. so que ele continua a retornar esse erro :/

Share this post


Link to post
Share on other sites
taviroquai

Experimenta assim:

rsync -r -v --copy-dirlinks --inplace --stats --progress /var/www 192.168.0.10:/docup/

Share this post


Link to post
Share on other sites
apocsantos

      Bom dia,

    Experimenta montar a unidade localmente, antes de fazeres a copia com o rsync:

mkdir /mnt/sambashare

mount -t smbfs -o username=name,password=password //192.168.1.10/nome_do_folder /mnt/sambashare

Assim crias um mount-point para a tua o disco ligado em rede, de forma a poderes aceder na shell. Depois podes estar à vontade com o rsync.

Cordiais cumprimentos,

Apocsantos


"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Share this post


Link to post
Share on other sites
Rui Carlos

Estava a ler esta thread... então mas não acedes directamente ao disco pela rede? O disco não ganha um IP? Não percebo porque falam no router...

Eu falei no router porque no meu router o disco é uma partição do router, e acedo ao disco pelo IP do router (seja por ssh, ftp ou smb).

Nos routers com disco que conhecia, também era isto que costumava acontecer. O IP do disco era o IP do router.

Não tendo o router ssh, a questão que se coloca é como aceder ao disco. E provavelmente o problema dele está em montar o disco no linux.


MostWanted12345, se o router não tiver ssh activo, não adianta abrir a porta.

A solução mais simples deve ser montar o disco (como o apocsantos sugeriu).

Já agora, depois de conseguires montar o disco, dependendo do formato da partição do disco externo, não me admirava que o rsync não funcionasse muito bem.

Eventualmente terás que ir para soluções mais rudimentares como criar um tar e copiar tudo para o disco externo de cada vez que fazes backup.

Share this post


Link to post
Share on other sites
MostWanted12345

Boas e desculpem outra vez por responder tão tarde :/ mas acabo o curso esta sexta e os stores ainda não decidiram para de mandar trabalhos -.-

Tive a ler o que têm postado e consigo perceber um pouco do que dizem..

taviroquai, experimentei o teu código e aparece o mesmo erro :/. Pensava que o problema era da ligação ao disco de rede, mas afinal não deve ser...

ssh: connect to host 192.168.0.10 port 22: Connection refused
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(601) [sender=3.0.7]

apocsantos, tambem experimentei o teu código a primeira vez pus

mount -t smbfs -o username=docupadmin,password=pass 192.168.0.10:/docup /mnt/sambashare

e apareceu

mount: wrong fs type, bad option, bad superblock on 192.168.0.10:/docup,
       missing codepage or helper program, or other error
       (for several filesystems (e.g. nfs, cifs) you might
       need a /sbin/mount.<type> helper program)
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

depois, mudei umas coisas

mount -t smbfs -o 192.168.0.10:/docup /mnt/sambashare

e apareceu:

Usage: mount -V                 : print version
       mount -h                 : print this help
       mount                    : list mounted filesystems
       mount -l                 : idem, including volume labels
So far the informational part. Next the mounting.
The command is `mount [-t fstype] something somewhere'.
Details found in /etc/fstab may be omitted.
       mount -a [-t|-O] ...     : mount all stuff from /etc/fstab
       mount device             : mount device at the known place
       mount directory          : mount known device here
       mount -t type dev dir    : ordinary mount command
Note that one does not really mount a device, one mounts
a filesystem (of the given type) found on the device.
One can also mount an already visible directory tree elsewhere:
       mount --bind olddir newdir
or move a subtree:
       mount --move olddir newdir
One can change the type of mount containing the directory dir:
       mount --make-shared dir
       mount --make-slave dir
       mount --make-private dir
       mount --make-unbindable dir
One can change the type of all the mounts in a mount subtree
containing the directory dir:
       mount --make-rshared dir
       mount --make-rslave dir
       mount --make-rprivate dir
       mount --make-runbindable dir
A device can be given by name, say /dev/hda1 or /dev/cdrom,
or by label, using  -L label  or by uuid, using  -U uuid .
Other options: [-nfFrsvw] [-o options] [-p passwdfd].
For many more details, say  man 8 mount .

Rui Carlos, sim, o meu router não tem nada disso..e sim, o meu problema está no montar o disco no linux, em passar as pastas do servidor para o disco. o que falaste do Tar, penso que seja tp cronjob.. mas não tenho bem a certeza.. Btw, o formato que o disco de rede tem é NTFS.

Neste momento, o meu maior problema é não conseguir com que o rsync copie os ficheiros para a pasta /docup/ dentro do disco...

Quero agradecer a todos por me estarem a ajudar, já que sou novo nisto do ubunto e não tenho grandes conhecimentos da matéria..

Obrigado pelo suporte ;)

Share this post


Link to post
Share on other sites
apocsantos

    Boa noite

    O problema provavelmente estará na filesystem do disco externo. Se estiver com NTFS é mais complicado um bocadito com o mount. Tenta antes o smbmount:

smbmount //192.168.0.10:/docup /mnt/sambashare -o rw

Cordiais cumprimentos,

Apocsantos


"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.