Here is a simple Python script to trigger an ir.cron job from the command-line system.

I created this to let my customer use his proprietary job scheduler to trigger OpenERP tasks. It was tested on OpenERP 6.1.

 1 #!/usr/bin/python
 2 
 3 import sys
 4 import traceback
 5 import xmlrpclib
 6 from optparse import OptionParser
 7 from datetime.datetime import now
 8 
 9 parser = OptionParser()
10 parser.add_option("-d", "--db", dest="db_name", help="OpenERP database name", metavar="DB_NAME", default="openerp")
11 parser.add_option("-p", "--password", dest="password", help="OpenERP admin password", metavar="ADMIN_PASSWORD", default="admin")
12 parser.add_option("-n", "--name", dest="cron_name", help="OpenERP ir.cron object name", metavar="CRON_NAME")
13 
14 (options, args) = parser.parse_args()
15 
16 assert options.cron_name
17 
18 # Query helpers
19 sock = xmlrpclib.ServerProxy('http://localhost:8069/xmlrpc/object')
20 q = lambda * a: sock.execute(options.db_name, 1, options.password, *a)
21 
22 try:
23     ir_cron_ids = q('ir.cron', 'search', [('name', '=', options.cron_name)])
24     if not ir_cron_ids:
25         raise "No cron found in OpenERP."
26     for ir_cron in q('ir.cron', 'read', ir_cron_ids, ['model', 'function', 'args']):
27         print "%s, %s - (%s) %s %s%s" % (options.db_name, now().strftime('%Y-%m-%d %H:%M:%S'), ir_cron['id'], ir_cron['model'], ir_cron['function'], ir_cron['args'])
28         q(ir_cron['model'], ir_cron['function'], *eval('tuple(%s)' % (ir_cron['args'] or '')))
29 except:
30     traceback.print_exc(file=sys.stdout)
31     sys.exit(8)
32 
33 sys.exit()