A menos que você seja uma loja 24 horas por dia, 7 dias por semana, você manda o servidor desconectar todos às duas da manhã e fazer backups por duas horas ou o que for preciso. Normalmente, isso é feito em conjunto com o "Processamento de fim do dia", que acumula registros detalhados nos registros do Arquivo mestre, fecha os finais do mês, os finais do ano, etc.
O problema básico é que alguns arquivos irão "mudar de forma" se alguém estiver adicionando ou excluindo registros. Tomemos, por exemplo, arquivos ISAM (Indexed Sequential Access Method) onde há um arquivo de dados brutos e, em seguida, separe os arquivos Index de cada chave (por exemplo, Número do cliente, Número de telefone, etc.). Se você dissesse primeiro fazer backup do arquivo de chaves para os números do cliente, um usuário adicionou um novo cliente e fez o backup do arquivo de dados brutos, você teria um erro de integridade de dados.
SQL é a escolha popular nos dias de hoje para bancos de dados, caso em que um despejo de SQL é executado sem chaves de backup, eu acho. Learning SQL (pronuncia-se Sea-Quill) está na minha lista de tarefas há mais de 30 anos.
Seja qual for o seu ambiente, você precisa estudar os requisitos de backup com cuidado e testá-los periodicamente, restaurando-os em um banco de dados de teste.
O backup de programas geralmente é excessivo, porque eles podem ser reinstalados. A exceção são seus próprios scripts que você desenvolve.
Para reiterar, os backups mais seguros são aqueles em que todos os usuários são desconectados do sistema. Quando isso não pode ser garantido, deve-se buscar ajuda profissional.