My cron table entry runs a PHP script.
That script runs mysqldump with the following options: --quick --add-drop-table --add-locks --lock-tables
The --opt option, as suggested by the MySQL manual, includes all of the above options with the addition of --extended-insert (Use the new multiline INSERT syntax, for more compact and faster inserts statements.) The --extended-insert option was intentionally omitted here since it makes it more difficult to view or edit the dump file with a text editor, should that be desired.
I construct the backup file name by concatenating a timestamp to the database name, so that each backup is in a new file.