How to backup Linux system
The core of backing up a Linux system is to protect the system configuration, personal data, and installed software list. 1. The most critical backup files include: /home/ (user files), /etc/ (system configuration), /var/log/ (optional logs), /opt/ or /usr/local/ (custom programs). 2. Recommended tools include: rsync (flexible incremental backup), tar (packaging and compression), dd (whole disk image), timeshift (graphical interface restore point), rsync is recommended for daily use, tar is used for one-time backup, and dd is considered for system-level recovery. 3. To back up installed software, you need to record the installation history of the package manager. For example, use dpkg --get-selections > installed_packages.txt for Debian/Ubuntu, and dnf list installed > installed_packages.txt for Fedora/CentOS. 4. Regular backup can be automatically executed by writing scripts in conjunction with cron or systemd timer. For example, running the backup script at 2 a.m. every day, and it is recommended to verify backup integrity and recoverability regularly.

Backing up a Linux system is not difficult. The key is to know what data is important and what tools are appropriate. The core idea is: the system configuration, personal data, and installed software list must be preserved.
1. Which files are the most critical to back up?
Not all files are worth backing up, and some directories are created temporarily, such as /tmp and /run . Those that really need to focus on are:
-
/home/: The user’s personal files and settings are here -
/etc/: System configuration files, such as network settings, user permissions, service configuration, etc. -
/var/log/(optional): log file, useful when troubleshooting problems -
/opt/or/usr/local/(if you have installed the program yourself)
As for virtual file systems such as /dev , /proc , and /sys , no backup is required.
2. What tool is the most reliable?
There are several commonly used tools under Linux, each with its own applicable scenarios:
rsync : flexible, supports incremental backup, suitable for local or remote synchronization. For example, use
rsync -aAXv /home/ /media/backup/home/to back up the entire home directory.tar : Packaging and compression, simple and direct, such as
tar cvpzf backup.tar.gz --exclude=/backup.tar.gz /home/package home into a filedd : Suitable for full-disk image backup, but takes up a lot of space. It is generally used to restore system-level disasters.
timeshift : graphical interface tool, imitating "system restore point", suitable for desktop users
Which one you choose depends on your needs. rsync is recommended for daily regular backup. It is very convenient to package tar in one time. Only consider dd for system-level backup.
3. How to back up installed software?
Want to restore the original software after reinstalling the system? You only need to remember two things:
- Package manager installation records
- The path of the software you have manually installed (for example, under
/opt/)
Take Debian/Ubuntu as an example:
dpkg --get-selections > installed_packages.txt
Fedora/CentOS users can use:
dnf list installed > installed_packages.txt
In this way, the names of all currently installed software can be saved, and they can be restored in batches after reinstalling the system.
4. How to make regular backups more worry-free?
Manual backup is easy to forget, setting a scheduled task will make you feel more at ease:
- Write a backup script, such as running rsync at 2 am every day
- Cooperate with cron or systemd timer to achieve automatic execution
- It’s more secure to save backups to an external hard drive or remote server
Let’s take a simple cron example:
0 2 * * * /path/to/backup_script.sh
In this way, a backup will be automatically run at two o'clock every morning.
Of course, remember to regularly check whether the backup is successful and whether it can be restored.
That's basically it. Backing up may seem troublesome, but in fact, as long as you plan the directory and tools clearly, regular maintenance is not complicated.
The above is the detailed content of How to backup Linux system. For more information, please follow other related articles on the PHP Chinese website!
Hot AI Tools
Undress AI Tool
Undress images for free
AI Clothes Remover
Online AI tool for removing clothes from photos.
Undresser.AI Undress
AI-powered app for creating realistic nude photos
ArtGPT
AI image generator for creative art from text prompts.
Stock Market GPT
AI powered investment research for smarter decisions
Hot Article
Popular tool
Notepad++7.3.1
Easy-to-use and free code editor
SublimeText3 Chinese version
Chinese version, very easy to use
Zend Studio 13.0.1
Powerful PHP integrated development environment
Dreamweaver CS6
Visual web development tools
SublimeText3 Mac version
God-level code editing software (SublimeText3)
Hot Topics
20518
7
13631
4
How to manage software packages using Dnf and Rpm in Linux?
Mar 07, 2026 am 01:50 AM
dnfinstall prompts packagenotfound because it queries the enabled warehouse rather than the local installation status; rpm-q queries the local RPM database, and the scopes of the two are different.
How to monitor system performance and resources in Linux? (Top & Htop)
Mar 06, 2026 am 01:04 AM
The total top CPU usage is not 100% because it is calculated based on a single core, and the maximum is 800% for an 8-core system; the htop terminal size error needs to be fixed with eval$(resize); the real memory pressure is available rather than used; top command line truncation can be solved with the -c parameter.
How to setup file sharing using Samba on Linux? (SMB Protocol)
Mar 13, 2026 am 12:33 AM
The main reason why Windows cannot see the Samba share is that the firewall blocks UDP137–139/TCP445 or NetBIOS name resolution fails; it is necessary to confirm that the workgroup is consistent, the interfaces are configured correctly, the file permissions match forceuser/forcegroup, and set doscharset=UTF-8 to solve Chinese garbled characters.
How to extend a Logical Volume (LVM) in Linux without downtime?
Mar 13, 2026 am 12:53 AM
Logical volumes and file systems can be expanded online. You need to expand the LV first and then the file system. It is recommended to use lvextend-r for automatic synchronization adjustment, but you must ensure that the LVM and file system tool versions are compatible.
How to check open ports and listening services in Linux? (Netstat & SS)
Mar 10, 2026 am 01:08 AM
Netstat displays fewer LISTEN ports than ss because it does not display process information by default that non-root users do not have access to; ss can read all listening sockets by default without process names, and sudonetstat-tulpn is required to display them completely.
How to set up SSH key authentication on Linux? (Passwordless Login)
Mar 11, 2026 am 12:46 AM
It is recommended to use ssh-keygen-ted25519 to generate a key pair, because it is faster, more secure, and has a shorter key than the default RSA; it is necessary to strictly set the ~/.ssh directory permissions to 700 and authorized_keys to 600, and use ssh-v to confirm whether the client is Offering public key and whether the server rejects it.
How to format disk partitions using the command line in Linux?
Mar 15, 2026 am 12:01 AM
When fdisk is stuck at the Command prompt, it is normally waiting for input. Enter q to exit safely; you must umount before mkfs, otherwise it may fail silently; partedmkpart does not support the specified file system type, and mkfs needs to be executed separately.
How to configure a static IP address on Linux? (Netplan & NetworkManager)
Mar 14, 2026 am 12:02 AM
Netplan reports "InvalidYAML" when configuring a static IP due to indentation errors, missing spaces after colons, or mixed tabs; gateway4 has been deprecated and routes to:default must be used instead; NetworkManager needs to be modified before down/up takes effect; the renderer field is used to determine the backend during coexistence; incorrect DNS configuration will cause ping to succeed but curl to fail.





