No, no es correcto ..
La función de PHP mysql_query() ejecuta "SQL" en general .. en tu caso no sé que significaría "mysql < respaldo.sql" .. podría ser un "comando" de Mysql .. pero tampoco.
Si tu archivo .sql contiene ya instrucciones SQL .. lo que debes hacer es "ejecutarlas". Pero recuerda que Mysql (por lo menos usado con funciones mysql_xxx() del "cliente" antigüo o clásico de Mysql) sólo permite ejecutar una instrucción SQL por función (se entiende a instrucción a una línea separada por ";").
Así que tendrías que tomar tu .sql .. abrirlo (fopen() y afines) truncarlo al caracter ; para tomar líneas SQL que ejecutar por unidad (con explode()) y de ahí con el array que te resulte ir recorriendolo (con un foreach()) para aplicar a cada elemento de ese array que será una instrucción SQL tu mysql_query()
Revisa las FAQ's de este foro, creo que ya hay ejemplos implementados que hacen algo similar a lo que te propongo. Sino:
www.phpclasses.org ..seguro que encuentras algo ya hecho al respecto allí.
Un saludo,