mount a large external usb drive. do a df to get the mount point of the usb drive.
cd to the mount point and create a directory. as an example, mkdir rsync_backup.
cd $HOME
sudo rsync -aAXv / –exclude={“/dev/*”,”/proc/*”,”/sys/*”,”/tmp/*”,”/run/*”,”/mnt/*”,”/media/*”,”/lost+found”} /media/rblout/758b0352-9c66-451f-bdc1-feeac2a6a896/rsync_backup
This will take a long time. You may also wish to exclude additional directories depending on what you are going to do. For example if you are doing an upgrade from Ubuntu 19 to U untu 20 you can exclude a lot more. You would just need to preserve your apache server, wordpress and the like.