def handle(self, *args, **options):
        """
        List of options in rsync command:
        -a:     Preserve the attibutes of the files.
        -v:     Verbose.
        -z:     Enables the compression.
        -u:     Update files.
        -r:     Recursive.
        -E:     Preserve Executability.
        -h:     Human readable.
        -n:     Simulate.
        """
        # Check the rsync command
        st, out = commands.getstatusoutput('rsync --version')
        if st !=0:
            self.stderr.write('Error: To use this command you need the rsync command.\n')
            exit(1)
        
            
        # Check for the settings parameters            
        try:
            # Deploy data
            USER_SERVER = settings.USER_SERVER
            DOMAIN_SERVER = settings.DOMAIN_SERVER
            DIR_SERVER = settings.DIR_SERVER
            DIR_LOCAL = settings.DIR_LOCAL
        except AttributeError:
            self.stderr.write('Error: You have to define the parameters in settings.py.\n')
            exit(1)
            

            
        opts = '-uhzravE --exclude="*.pyc" --exclude=settings.py --exclude="mydata.db"'
        if options['test']:
            opts = opts+' -n'
            
        os.system('rsync '+opts+' '+DIR_LOCAL+' '+USER_SERVER+'@'+DOMAIN_SERVER+':'+DIR_SERVER)
        self.stdout.write('\nWARNING: Consider that the file settings.py must be sent manually.\n'+ \
        'Don\'t apply any changes in the server directory except into settings.py\n')
        
        pass

        List of options in rsync command:
        -a:     Preserve the attibutes of the files.
        -v:     Verbose.
        -z:     Enables the compression.
        -u:     Update files.
        -r:     Recursive.
        -E:     Preserve Executability.
        -h:     Human readable.
        -n:     Simulate.
        
recipes/Python/577767_Managment_commdeploy_Django/recipe-577767.py