Qual è il miglior metodo di backup Linux per un server di casa?

Attualmente sono in grado di eseguire il backup del mio server Fedora Linux utilizzando rsync e un'unità USB locale. Finora questo sembra soddisfare le mie esigenze, ma sospetto che ci siano modi migliori per andare a fare questo. Molto tempo fa ho usato per usare il nastro, ma il backup del nastro di size per eseguire il backup del mio server è ora prezzo fuori dalla mia fascia di prezzo. Qualcosa automatizzato sarebbe meglio. Anche se suppongo di poter automatizzare il mio backup rsync corrente, questo significherebbe lasciare l'unità USB per tutto il tempo.

Pensieri?

  • Utilizzo di rsync e quali directory devo collocare nel mio file di esclusione quando si utilizza rsync?
  • Rsync è il modo migliore per risolvere il mio problema?
  • Rsync transfer-log sul sito del server?
  • Non è ansible escludere i nomi delle directory con cw-rsync
  • funziona il algorithm delta del rsync su una condivisione samba?
  • Escapare spazi in un path remoto quando si utilizza rsync su una connessione remota SSH
  • Come get rsync per spostare file da sorgente a destinazione?
  • rsync --files-da o -include-da
  • 7 Solutions collect form web for “Qual è il miglior metodo di backup Linux per un server di casa?”

    La soluzione che lo uso per trovare un amico che non dispiace ospitare un piccolo server fanless in casa loro. Ho quindi uno script rsync automatizzato che viene eseguito durante la notte per sincronizzare i miei dati in una posizione remota.

    I backup il mio server con duplicità a amazon S3. Faccio un backup completo each trimestre e incrementi each notte. Funziona piuttosto bene.

    Io uso rsnapshot che utilizza rsync e fa backup incrementali / completi veramente bene.

    Ho scritto uno script di shell che ho eseguito da un lavoro cron per montare il disco, eseguire rsnapshot, quindi montare il disco, quindi non è montato tutto il tempo.

    Ecco gli script che uso. Il primo è /usr/local/sbin/backup.sh, che è fondamentalmente un wrapper attorno allo script che esegue il lavoro reale, acquisisce lo stato di output e di output e quindi invia i messaggi a radice:

     #!/bin/sh # # Run the dobackup script, capturing the output and then mail it to the # backup alias person with the right subject line. # BACKUP_TYPE=daily if [ "a$1" != "a" ] ; then BACKUP_TYPE=$1 fi /usr/local/sbin/dobackup.sh ${BACKUP_TYPE} < /dev/null > /tmp/backup.txt 2>&1 RET=$? SUBJECT="${BACKUP_TYPE} backup for $(hostname) (ERRORS)" if [ "a$RET" = "a0" ] ; then SUBJECT="${BACKUP_TYPE} backup for $(hostname) (successful)" elif [ "a$RET" = "a2" ] ; then SUBJECT="${BACKUP_TYPE} backup for $(hostname) (WARNINGS)" fi mail -s "$SUBJECT" root < /tmp/backup.txt exit $RET 

    Ecco qui /usr/local/sbin/dobackup.sh, che è il vero cavallo di lavoro:

     #!/bin/sh # # Perform the backup, returning the following return codes: # # 0 - backup successful # 1 - errors # 2 - backup successful, but with warnings. # if [ -e /dev/sdb1 ] ; then BACKUP_DEV=/dev/sdb1 else echo "No backup device available." echo "CANNOT CONTINUE WITH BACKUP." exit 1 fi BACKUP_DIR=/mnt/backup BACKUP_TYPE=daily if [ "a$1" != "a" ] ; then BACKUP_TYPE=$1 fi echo "Performing ${BACKUP_TYPE} backup." umount $BACKUP_DEV 2> /dev/null mount $BACKUP_DEV $BACKUP_DIR if [ "a$?" != "a0" ] ; then echo "Error occurred trying to mount the external drive with the following command:" echo " mount $BACKUP_DEV $BACKUP_DIR" echo "CANNOT CONTINUE WITH BACKUP." exit 1 fi date rsnapshot $BACKUP_TYPE RET=$? date if [ "a$RET" = "a0" ] ; then echo "Snapshot performsd successfully." elif [ "a$RET" = "a2" ] ; then echo "Snapshot performsd, but with warnings." else echo "Snapshot had errors (returned ${RET})." fi umount $BACKUP_DIR if [ "a$?" != "a0" ] ; then echo "Error occurred trying to unmount the external drive with the following command:" echo " umount $BACKUP_DIR" exit 1 fi exit $RET 

    Modificare le variables BACKUP_DEV e BACKUP_DIR per adattarsi.

    Uso dirvish per eseguire il backup di unità USB. Ho diversi script creati per montare l'unità triggers, ho 3, al punto corretto del filesystem e quindi eseguire i backup.

    Dirvish è fondamentalmente solo uno script perl che chiama rsync con molte opzioni:

    • è ansible mantenere molti backup senza perdere spazio
    • hai una semplice syntax di configuration
    • i ripristini sono molto semplici

    La maggior parte delle risposte in questa domanda si applicano anche qui. La maggior parte degli strumenti menzionati funziona bene su Linux.

    Date un'occhiata a backup rdiff . Lasciare l'unità USB non può fare del male. Atleast è poco costoso. Non usano molta potenza quando inattivi.

    Come suggeriscono altre risposte, l'utilizzo di rsync (e / o di un wrapper in rsync) è un modo semplice per eseguire il backup di un server linux. Alcune cose da tenere in mente:

    • I dati dell'applicazione si preoccupano di get effettivamente il backup? Se si dispone di un database, si dovrebbe avere un lavoro cron che distribuisce regolarmente i dati. Un rsync di un file del sistema di database in diretta non è garantito per darvi un backup affidabile.
    • Quante volte state verificando se il backup ha funzionato o che il disco USB sia ancora in buone condizioni?
    • Cosa succede ai file eliminati quando si effettua un backup? Se usi qualcosa come rsnapshot , sei probabilmente bene. Ma se si utilizza rsync con l'opzione --delete , potrebbe non essere ansible ripristinare i file che non si intendeva eliminare.

    Un secondo disco locale è probabilmente l'opzione più economica per avere un modo rapido per recuperare i file se il disco principale non riesce, ma non aiuterà se la tua casa è colpita da un fulmine (o la tua elettricità a basso costo si scioglie). Con tante soluzioni di backup offsite di $ 5 / month, non è una brutta idea fare entrambi.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.