This is the solution I would recommend (unless you are willing to try Clonezilla):
Step 1:
Make sure your external disk is at least as big as your internal one. You need to be able to fit everything onto your backup disk.
Step 2:
Figure out which disks to use. For this, you should run the command:
sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL
Which should output something like:
NAME FSTYPE SIZE MOUNTPOINT LABEL
sda 111.8G
├─sda1 swap 121M [SWAP]
└─sda2 ext4 111.7G /
sdb 2.7T
└─sdb1 ext4 2.7T
You want whichever one has a partition mounted as /. Also figure out which one is your external disk using this output. BE VERY CAREFUL, YOU DO NOT WANT TO GET THIS WRONG. If your main disk (The one with Ubuntu installed on it) is /dev/sda and your external disk is /dev/sdb, then you should do the next step exactly.
Step 3:
Run dd to copy everything over. Depending on the size of your disk, this may take a VERY long time, so be patient. This is the command:
sudo dd if=/dev/sda of=/dev/sdb status=progress
If your disks were different than the ones in the example, then just replace /dev/sda with your main disk and replace /dev/sdb with your external disk. and use status=progress
to display the progress.