This question is impossible to answer definitively without knowing more about, say, your operating system, whether you have command line access, whether your WP and Civi databases are separate or one, etc. I'll answer for what works for me.
On a Linux machine, I would use
backupninja to first back up MySQL using
mysqldump. My backupninja configurations are public.
Second, I configure a backupninja job using
borgbackup to back up the WordPress root (e.g.
/var/www/mysite) along with the MySQL dump. All three of those utilities can back up either locally or remotely.
If you prefer shell scripts to backupninja, AGH Strategies posts their backup script on Github.