How to backup a huge mysql database in PHP with lowest usage (busy) of linux server?
===

we are developing a web base software using PHP and Mysql. as you know there are limitations for backup huge DBs using web interface, so I need a solution to back up our huge DB by the following conditions:

1) The process can be done without web interface and must be run in command line (e.g. as a Linux service)

2) The process should use minimal usage of server resources (in the other word, while backup process is running, clients can use services on server)

3) Some features are vital (like backup, restore, compression & split backup file) and some features are optional (e.g. Mailing and FTP , ...)

4) Script must be writing in PHP or Perl.

Is there any idea? 
Thanks in advance.
excuse me for my English!