>
how to do "hot backup" (copying files) while database running?
As others have shown, there are ways to do this with PG's internal tooling (pg_basebackup).
However, I would highly recommend you use an external backup tool like pgbackrest [1] to save yourself the pain of implementing things incorrectly and ending up with non-viable backups when you need them most. I'm not affiliated with them at all, but have just used pgbackrest in production for years now with great results. It takes care of PITR, and manages backup retention (and associated WAL retention). Those can be a bit of a pain to do manually otherwise.
Just my $0.02, hope it helps!