Hello. First of all you have to use the archive keyword to tell you router where to send the configuration file which will be stored everytime you issue the appropriate command. So since you use ftp the command will be as follows.
!
archive
path ftp://xxx.xxx.xxx.xxx/configs
write-memory
!
With the above command whenever you give write-memory to your router/switch the configuration will be copied to the ftp server path you stated.
Then you need to tell the router/switch to run the command write-memory in a ,lets say, weekly fashion. You do that utilizind the kron command (yes like linux). First you create a policy list named Backup where you state the command the router must execute and then you create an occurence lets say every Wednesday at 13:15. Assign the policy-list to the policy and you are all set.
!
kron occurrence Backup at 13:15 Wed recurring
policy-list Backup
!
kron policy-list Backup
cli write
Take care that the router can only support commands without verification in the kron list. If you user copy run start instead of write then the router might ask you to confirm the destination. Kron doesn't know what to do in that case. So check the commands you want it to execute that they do not need verification.
I hope that helped. Firewalls do not support this configuration and i haven't yet tried any other type of backup (except manual). If anyone knows better about firewall automatic backup he will help both of us.