I can't find documentation about whether agent jobs in SQL Server can be backed up. If not, how can I back them up in order to restore during the future recovery in case of an instance failure?
SQL agent jobs are stored in the system
msdb database, so backing up that database will do what you need.
In a disaster, you can restore the entire
msdb database, or, if necessary, recover individual jobs from a restored copy of msdb:
If you want them in a more immediately usable format, you can right-click and script out individual jobs manually, or if you'd like to script out all jobs on the server at once:
Another way is to just export to file using dbatools
Get-DbaAgentJob -SqlInstance workstation\sql2016 | Export-DbaScript
you can even script out your entire instance or subset including agent jobs, operators, logins, etc for disaster recovery purpose.
Edit: Above will have the flexibility to filter out jobs that you do not need. Backup / restore of msdb is all jobs.. just FYI.