Quels dossiers inclure dans la sauvegarde?

28

Je suis assez nouveau sur Ubuntu et je veux créer une sauvegarde. Je ne sais vraiment pas quels fichiers et dossiers inclure, de sorte que si je restaure mon système, il sera tel qu'il est maintenant. Je n'arrive pas à trouver de bons détails là-dessus. J'espère que quelqu'un pourrait m'aider avec ça. Est-il possible de tout sauvegarder tel qu'il est maintenant, donc en cas de restauration du système, je n'ai pas à réinstaller les programmes et les paramètres?

Jason
la source
Ouais, moi aussi, je veux savoir quels sont les fichiers importants sans avoir à sauvegarder l'intégralité du disque. Crontabs (root et utilisateur), exportfs etc.
Sridhar Sarnobat

Réponses:

25

Mes jeux de sauvegarde contiennent actuellement

/etc
/home
/root
/srv
/usr (/usr/local only, nothing else)
/var (except /var/run, /var/cache, /var/tmp)

Notez que c'est pour un serveur, donc sauvegarder des choses comme / etc enregistre toute ma configuration pour mes services, j'ai des serveurs web dans / srv (bien que si vous les avez dans / var / www , ils seraient toujours dans ce jeu de sauvegarde) , J'ai divers scripts et choses configurés dans / usr / local , etc. La sauvegarde de / home au lieu de / home / myusername est pour que je puisse préserver tous les utilisateurs. Si vous ne souhaitez conserver que vos données utilisateur, vous n'avez besoin que de votre répertoire personnel.

thomasrutter
la source
Pourquoi incluez-vous / root?
Mohammed Joraid
2
Il est le répertoire de l'utilisateur root, je garde quelques scripts sysadmin là - dedans, pour la sauvegarde , etc. Bien que je l' ai déplacé la plupart de ces derniers à/usr/local/sbin/
thomasrutter
Est-il nécessaire d'inclure le .cachedossier dans le répertoire personnel de chaque utilisateur ( ~/.cache), ou pouvons-nous également l'omettre? Il peut s'agir de dizaines de milliers de fichiers et de plusieurs gigaoctets de données. Ma compréhension est que si nous ne l'incluons pas, cela signifie simplement que les applications doivent à nouveau générer des fichiers temporaires et mis en cache la prochaine fois qu'elles s'exécutent, ce qui augmente le temps d'exécution et le temps de démarrage mais est inoffensif, non?
Gabriel Staples
1
Exclure les ~/.cachesons me convient. Je ne l'exclus pas moi-même, mais si vous souhaitez réduire le temps de transfert / synchronisation des données, cela peut être une option.
thomasrutter
1
@GabrielStaples Je n'utilise pas /optmais si vous l'utilisez, vous pouvez l'inclure dans vos sauvegardes. /opta tendance à être inutilisé par les distributions elles-mêmes, laissant le soin à l'utilisateur, mais les fournisseurs d'applications qui fournissent un système Linux avec leur application tierce installée dessus peuvent utiliser /optou si vous développez votre propre logiciel, vous pouvez l'avoir à la /optplace de/usr/local
thomasrutter
10

Ce dont vous avez besoin pour sauvegarder dépend de votre système particulier *.

Cela va donc prendre un peu de travail de votre part pour trier. Commencez par déterminer ce qui n'a pas besoin d'être sauvegardé. Jetez d'abord un œil à votre répertoire racine, puis travaillez à reculons.

Par exemple, cd /; ls -Fme donne:

bin/    initrd.img@      mnt/   snap/  vmlinuz@
boot/   initrd.img.old@  opt/   srv/   vmlinuz.old@
cdrom/  lib/             proc/  sys/
dev/    lib64/           root/  tmp/
etc/    lost+found/      run/   usr/
home/   media/           sbin/  var/

/cdrom, /mediaet /mntsont des points de montage, vous n'avez donc pas besoin de sauvegarde.

/dev, /lost+found, /proc, /run, /sysEt /tmpget automatique recréées au redémarrage. [Je devine que les liens: /initrd.img@, /initrd.img.old@, /vmlinuz@, /vmlinuz.old@~~MD~~aux~~3rd obtenir recréés au démarrage ubuntu Réinstaller (je ne suis pas sûr).]

Sur mon système /rootest vide (utilisez sudo -spour ouvrir un shell en tant qu'utilisateur root pour le voir ... exitfaites attention à immédiatement après l'inspection /root.)

/snapest également vide. C'est peut-être un point de montage.

/varcontient des données variables comme les fichiers de journalisation du système, les répertoires de spool de courrier et d'imprimante et les fichiers transitoires et temporaires. "Je les sauvegarde maintenant, sauf pour / var / log. ref: http://www.tldp.org/LDP/Linux- Hiérarchie du système de fichiers / html / var.html )

/bin, /boot, /lib, /lib64Et /sbinprobablement va se rechargées par une réinstallation d'Ubuntu à moins que vous faites un travail de développement ou quelque chose comme système. Vous pouvez soit les sauvegarder, soit compter sur une nouvelle installation pour les récupérer.

/homedevrait être dans sa propre sauvegarde. Il y aura des moments où vous voudrez restaurer juste /home.

Cela laisse d' autres modifications que vous avez apportées à votre système /etc, /opt, /srvet /usrque vous voulez également sauvegarder, ensemble ou individuellement.

Voici quelques pages qui pourraient aider à comprendre ces répertoires:

http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/the-root-directory.html http://www.tldp.org/LDP/intro-linux/html/sect_03_01.html#sect_03_01_03


Une réflexion connexe est la suivante: supposons que vous venez d'installer un nouveau Ubuntu. De quoi auriez-vous besoin pour sauvegarder? Réponse: rien. Vous n'avez encore rien changé, vous pouvez donc simplement réinstaller Ubuntu. Il restaure / bin, / etc, / root, / usr, etc.

Donc, la seule raison pour laquelle vous voudrez peut-être sauvegarder / bin est parce que vous l'avez modifiée ou ajoutée. Une partie de la sauvegarde consiste donc à comprendre où et quand il est créé et modifié. Sachez simplement que nous autres, nous aussi, nous débattons avec cela.


***** Et, bien que vous ne l'ayez pas demandé, vous pouvez créer des images de disque ou de partition complètes. Ceux-ci prennent beaucoup de temps à sauvegarder et à restaurer et peuvent laisser votre système en panne pendant que ce travail se poursuit. Et c'est ainsi que j'avais l'habitude de sauvegarder mes systèmes Windows à l'aide d'Acronis. La seule chose qu'ils vous fournissent est une carte de partition et des images de partitions non linux. Je les fais maintenant avant de réorganiser les partitions et avant de tester mes fonctions de restauration de sauvegarde.


(Je suis très ouvert aux suggestions sur la façon dont je pourrais améliorer cela.)

Vue elliptique
la source
C'est génial lorsque vous êtes concentré sur les configurations et n'avez pas besoin des binaires, comme vous l'avez dit, ils peuvent être réinstallés et c'est beaucoup plus léger à exporter et à réinstaller askubuntu.com/a/55906/104223
CTS_AE
5

Si je réinstalle mon système de bureau, je sauvegarde

  • /etc
  • /var, Je suis trop paresseux pour exclure certains sous-dossiers
  • /opt

/homese trouve sur une partition distincte et a une sauvegarde effectuée tous les jours .

Après la réinstallation, je restaure les pièces de ma sauvegarde, dont j'ai vraiment besoin.

Avec cette stratégie, toutes mes configurations, courriers locaux et configurations crontab sont sécurisées et je dois réinstaller uniquement mes applications nécessaires.

Mes scripts personnels sont enregistrés dans mon dossier d'accueil (sauvegarde quotidienne, vous vous souvenez?), Donc je ne les utilise pas /usr/local.

UN B
la source
1
Est-ce que ça fonctionnera si je sauvegarde root, c'est tout ?: ./
Suspendu le
Ce serait comme un clone de ce que j'utilise maintenant.
Suspendu le
De /optquoi avons-nous besoin? c'est-à-dire: pourquoi le sauvegarder?
Gabriel Staples
3

La plupart des gens sauvegarder leur répertoire: /home/$USER/. Si vous souhaitez sauvegarder les fichiers de configuration et les paramètres, ceux-ci sont stockés dans des dossiers et fichiers de votre répertoire personnel commençant par a. (point). Faites une liste des packages que vous utilisez (et des PPA) et il sera facile de réinstaller tous vos packages si vous en avez besoin. Ou utilisez la commande décrite dans ce commentaire .

Deja Dup Backup est un excellent outil qui vient par défaut sur Ubuntu. D'autres options incluent la ligne de commande (rsync, rsnapshot, rdiff-backup, etc.).

Enfin, pour sauvegarder l'intégralité du disque en tant qu'image, consultez clonezilla .

philshem
la source
2
De plus, en plus de ce à quoi la réponse psny est liée, cela ne ferait pas de mal de créer une sauvegarde de l'ensemble du répertoire / etc / qui stocke les paramètres à l'échelle du système. Si vous y avez apporté des modifications, il serait utile d'avoir une archive pour obtenir ces modifications.
Marcin Kaminski
2
Si vous avez une configuration crontabs, sauvegardez /var/spool/cronégalement.
Ian Dunn
3

Collectons une liste de fichiers ici. J'ai fait ce post "wiki communautaire".

Bien sûr, cela varie d'une personne à l'autre. Le mien est principalement utilisé comme serveur Web et serveur NFS.

mkdir $MY_BACKUP_FOLDER
cd $MY_BACKUP_FOLDER

crontabs

sudo rsync -a --relative /var/spool/cron/crontabs .

Partages NFS

sudo rsync -a --relative /etc/exports .

sudoers

sudo rsync -a --relative /etc/sudoers .

config apache

sudo rsync -a --relative /etc/apache2/apache2.conf .

autofs

sudo rsync -a --relative /etc/auto* .

fstab

sudo rsync -a --relative /etc/fstab .

hôtes

sudo rsync -a --relative /etc/hosts .

samba

sudo rsync -a --relative /etc/samba/smb.conf .

Règles de périphérique USB (udev)

sudo rsync -a --relative /etc/udev .

systemd

mlocate

sudo rsync -a --relative /etc/updatedb.conf .

Lanceur Ubuntu ("Menu Démarrer") Fichiers .desktop, incl. toutes les personnalisées que vous avez configurées:

sudo rsync -a --relative /usr/share/applications .

le répertoire d’accueil peut être conservé si vous effectuez une réinstallation d’ubuntu

Sridhar Sarnobat
la source
1

Juste un rappel si vous utilisez DejaDup (ou autre chose vraiment), excluez également tous les dossiers de stockage cloud (probablement dans votre maison), tels que Dropbox. Si vous payez pour le stockage s3, cela pourrait être une mauvaise erreur.

kdford
la source
0

Utilisez la sauvegarde Deja Dup. Il est fourni par défaut. Accédez aux paramètres et conservez uniquement le dossier racine ( /) en tant que «dossiers à inclure» et ajoutez le dossier multimédia ( /media) dans «dossiers à ignorer».

De ce fait, tous vos programmes seront sauvegardés en cas de dommage du système (rare) à l'exception de vos autres disques qui ne sont normalement pas affectés.

VedVals
la source
0

Je sauvegarde ce qui est important pour moi, ce qui peut être défini de manière générale comme ma propriété intellectuelle et les efforts consacrés à la configuration d'Ubuntu pour fonctionner parfaitement (pour moi).

J'ai la sauvegarde exécutée tous les matins à 4h00 du matin ou chaque fois que l'ordinateur portable sort de la suspension. Il est contrôlé par /etc/cron.dailyscript.

Le meilleur type de sauvegarde est hors site en cas d'incendie ou d'inondation où l'ordinateur se trouve, alors je profite d'un compte gmail.com gratuit de 15 Go et j'y envoie une sauvegarde quotidienne compressée.

Après quelques années, j'ai atteint mon quota "gratuit" de 15 Go, j'ai donc écrit un script pour recycler les sauvegardes en 180 jours, 78 semaines, 36 mois et 100 sauvegardes annuelles.

Voici le script de sauvegarde quotidien de ce qui est important pour moi:

#!/bin/bash

# NAME: daily-backup.sh
# PATH: /mnt/e/bin
# DESC: Backup scripts, documents and configuration files to .tar

# DATE: July 11, 2017. Modified July 7, 2019.

HomeDir="/home/USER_NAME"                    # Required for cron compatibility
EmailAddr="[email protected]"

# PARM: 1=backup file name. Extension .tar.gz automatically appended.

# NOTE: To include MBR (Master Boot Record) in backup create an image using:
#       sudo dd if=/dev/sda of="$HOME/.mbr.sav" bs=512 count=1

# NOTE: CLONE CURRENT INSTALLATION TO NEW MACHINE
#       =========================================

#       To restore use Live USB to install Ubuntu alongside Windows 10
#       Connect to network with password xxxxxxxxx

#       Install Google Chrome
#       (/ubuntu/510056/how-to-install-google-chrome):

#           wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub 
#               | sudo apt-key add
#           echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/
#               stable main' | sudo tee /etc/apt/sources.list.d/google-chrome.list
#           sudo apt update
#           sudo apt install google-chrome-stable

#       Open gmail.com and download attachment `$1` which is usually called
#           Backup-yymmdd-DayOfWeekName.tar

#       Make missing home/bin directory which tar doesn't create automatically:
#           mkdir ~/bin

#       Restore the daily backup using:
#           sudo tar -xvf Backup-yymmdd-DayFfWeekName.tar -C /
#           yar -xvf Backup-yymmdd-DayFfWeekName.tar -C /

#       Patch /etc/default/grub with new machine parameters, ie for nvme use:
#           acpiphp.disable=1

#       Use `sudo apt install aptitude-common`
#       Clone packages using `aptitude-create-state-bundle` on Source
#       Copy state-bundle.tar file from Source to Target machine
#       Restore packages using `aptitude-run-state-bundle` on Target

#       Manually copy ~/Pictures, ~/Videos, etc. not in daily backup.

#       sudo update-grub        # NVMe suspend/resume acpiphp.disable=1
#       sudo update-initramfs   # to get plymouth sunrise splash screen

if [[ $# -ne 1 ]]; then
    echo 'One argument required for file name, e.g. "Backup-2017-10-21-Saturday"'
    echo '.tar will automatically be added as a file extension'
    exit 1
fi

Filename="$1.tar"

cd $HomeDir ||
    exit 1

dpkg --get-selections > .packages       # List of installed applications

tar -cvpf "$Filename" bin               # create .tar & add user scripts
tar -rvpf "$Filename" .config/autostart # autostart programs configuration
tar -rvpf "$Filename" /usr/local/bin    # add global root-based scripts
tar -rvpf "$Filename" /etc/cron*        # crontab, cron.d, cron.daily, etc
tar -rvpf "$Filename" /etc/system*      # systemd files: login.conf, etc.
tar -rvpf "$Filename" /lib/systemd/system-sleep
tar -rvpf "$Filename" /etc/rc.local     # Startup script: calls zaprestore.
tar -rvpf "$Filename" /etc/sudoers      # 120 minute sudo, stars in password
tar -rvpf "$Filename" /etc/environment  # PATH backup
tar -rvpf "$Filename" /etc/default/grub # bootstrap loader
#July 20, 2018 - /boot/grub takes 5MB+
#tar -rvpf "$Filename" /boot/grub        # Custom grub fonts and splash...
tar -rvpf  "$Filename" /usr/share/plymouth   # ... screen (plymouth)
#included above tar -rvpf "$Filename" /usr/share/plymouth/themes/earth-sunrise/
tar -rvpf "$Filename" /usr/share/grub/themes/Tuxkiller2/
tar -rvpf "$Filename" /etc/grub.d       # 00_header, etc. changes
tar -rvpf "$Filename" Desktop           # files and links on desktop
tar -rvpf "$Filename" Documents/*.od*   # Libre Office: *.ods, *.odt, etc.

# Trusted keys to install from third party PPAs
tar -rvpf "$Filename" /etc/apt/trusted.gpg
tar -rvpf "$Filename" /etc/apt/trusted.gpg.d

# Sources for repositories - 1) Main single file - 2) directory of files
tar -rvpf "$Filename" /etc/apt/sources.list
tar -rvpf "$Filename" /etc/apt/sources.list.d

# find all $HOME/.config files and add to .tar
find .* -maxdepth 0 -type f -exec tar -rvf "$Filename" {} +

# Nautilus custom scripts
tar -rvpf "$Filename" .local/share/nautilus/scripts

# /etc/udev rules
tar -rvpf "$Filename" /etc/udev/rules.d

# /etc/rc.local
tar -rvpf "$Filename" /etc/rc.local

# /etc/X11/xorg.conf.d
tar -rvpf "$Filename" /etc/X11/xorg.conf.d

# /mnt/e - shared WSL + Linux
tar -rvpf "$Filename" /mnt/e/bin
tar -rvpf "$Filename" /mnt/e/Documents

# ~/eyesome - Development version
tar -rvpf "$Filename" eyesome

# ~/gmail - Python and Bash scripts but NOT huge data files
tar -rvpf "$Filename" gmail/*.py
tar -rvpf "$Filename" gmail/*.sh
tar -rvpf "$Filename" gmail/go
tar -rvpf "$Filename" gmail/BackupSets
tar -rvpf "$Filename" gmail/BackupDays

echo "Complete file list with sizes..."
tar -tvf "$Filename" > BackupLog    # list filenames and sizes
chmod a+w BackupLog                 # give user delete access

echo "Compressing with gzip..."
gzip "$Filename"
Filename="$Filename.gz"

echo "Emailing: $EmailAddr"

# From: https://internetlifeforum.com/gmail/2251-gmail-some-file-types-blocked-fix-how-go-around/
# cat archive.tar.gz | base64 > file
# then i sent the file via email:
# echo "Base64 encoded file" | mutt -a file -s subject -- [email protected]
# then mail was delivered properly! Then when one need to get readable archive 
# again, he need to decode it by base64. In my case i do it via linux command line:
# cat file | base64 -d > decodedarchive.tar.gz

Filename64="$Filename.64"
cat "$Filename" | base64 > "$Filename64"
mail -a "$Filename64" -s "$Filename64" "$EmailAddr" < BackupLog

ls -la "$Filename" "$Filename64"
rm     "$Filename" "$Filename64"

exit 0
WinEunuuchs2Unix
la source