This is a feature I believe everyone wants to see added to FileMaker, but as of now, you pretty much have to script something yourself to do it. I've done it a time or two, I've seen others do it, but there isn't a quick easy way (at least not that I've heard of!)
There are a few issues to consider if you are going to attempt this:
Multi User systems (which covers most of what I do) bring in more complications, a single user file can easily be backed up and you can jump to the offline version when needed, and then just replace the file when you are back online, or simply import matching records.
Of course resolving conflicting records with multiple users making changes offline complicates things drastically.
For those times when you need to use an off-line (non-Served) copy of your DB, consider having the field 'mod_timestamp' (auto-enter modification timestamp, always replace) in each of your tables - then use this field to help isolate the Records that need to be synced. This can reduce your work considerably, especially if you have a script that finds these records for you (only the 'found' records will be recognized for import purposes into main Server-file.
Keep these things in mind:
1. Importing comes in flavors - you will want to write a Script that saves the following import for each table:
Field Matching by Field Name
Update Matching Records on Serial # or UUID ( <=> )
Do not auto-enter
Add remaingin records as New
2. if you use normal incremental Serial # fields, not UUID's. If your off=line copy was copied 'before' the server-file went down, the serial #'s that you now create in off-line copy will be 'used' already by Server-file. Reset these Serial #'s much higher before creating new Records in off-line copy.
Then, when you import these records, you will need to reset the same numbers to 1 higher in Server-file. This task can be performed automatically by a Script that uses Funcition 'SetNextSerial (FileName::FieldName ; number )' runfrom the last imported record.