1º.- Necesitamos un programa denominado putty para poder acceder via SSH. Para encontrar el programa mirar el link este:
http://www.todo-mods.com/crear-un-c...-1-1-vt193.html
2º.- Un programa para subir/bajar archivos via ftp (Filezilla o similar)
2º.- Necesitamos saber algo de UNIX (linux o ubuntu). Muy poquito: ¡no asustarse!
NOTA: lo que voy a contar no se adscribe a un unico servidor, sino que vale en todos los servicios de hosting que utilicen UNIX (linux, ubuntu,etc). Esto lo digo porque voy a hacer el ejemplo con el servicio de 1and1.es, pero daria igual con otro hosting UNIX
1º.- USO DE PUTTY Y ALGUNOS COMANDOS UNIX
Vamos primero a familiarizarnos con el putty y los comandos minimos de UNIX. Una vez bajado el putty, lo ejecutais y saldra una ventana como esta:
En donde pone Host Name o IP adreess y para aquellos que tiene 1and1.es, escribis en esa casilla el nombre de vuestro servidor de ftp, que coincide, sino habeis tocado nada con vuestro dominio. Por ejemplo, si registrasteis www.pepito.es, escribis: "www.pepito.es" o simplemnte "pepito.es" y pulsais open.
A continuacion, si lo habeis hecho bien se abrira una pantalla tipo MS-DOS, que no pongo por razones de seguridad. Os dice "login as". Escribis vuestra nombre de usuario que tenies para aceder via ftp (es el mismo para SSH) y os pedira una pasword, que es la misma que la del server ftp: es decir, en 1and1.es sino habeis tocado nada: servidor/login(nombre de usuario)/password son las mismas que para poder acceder via ftp. OJO otros proveedores pueden requerir distintas password, login etc. Si todo se ha hecho bien os saldra algo como esto
He tapado con azul cosas por motivo de seguridad. Lo primero decir que lo que sigue a la u es un numero. En la siguiente linea esta la u con ese numero @ vuestro dominio y aparece un "prompt". En ese prompt se puede ejcutar cualquier comando UNIX (linux). Veamos unos ejemplos . Si queremos hacer un dir, en UNIX es "ls", aunque yo normalmente utilizo la extension: ls -la
Ejemplo de comando DOS/UNIX
dir = ls -la
dir p* = ls -la p* (listar todos los archivos que empiezan por p)
Para moverse por los directorios es exactamente igual que en MSDOS salvo que cd.. en UNIX es cd .. (hay que dejar un espacio en blanco entre la palabra CD y los 2 puntos)
Podeis moveros a vuestro antojo
NOTA: 1and1.es monitoriza vuestros movimientos por lo que si alguien toca algun fichero que no es suyo...lo echan a la calle
en esa captura con algunas cosas borradas veis que he hecho un ls -la y un cd ..
Si alguno despues de moverse se ha perdido y quiere regresar a su sitio/home donde empezo con el putty, basta con teclear cd (a secas)
Si quereis ver donde esta vuestra casa dentro del sistema tecleais $HOME ( no es un comando es una variable del sistema) que es a donde os llevara el comando cd si os perdeis
Si os habies movido por directorios y os habies perdido pero quereis saber donde estais podeis utilizar el comando pwd (print working directory) os dira donde estais. Para volver a vuestro sitio, ya sabeis cd Todo esto se puede apreciar en la captura anterior
Esto es todo el tuto de UNIX que nos hace falta saber de momento. Para salir de la sesion o del putty basta con poner logout o exit
2º.- CREAR UN FICHERO CRONJOB
El Unix tiene la posiblidad de ejecutar tares a unas horas predeterminadas, aunque nosotros no estemos en el sistema. Eso se puede hacer de varias maneras una es un cronjob. Lo primero que hay que hacer es crear un fuchero cronjob con las tareas a ejecutar y la hora /dia que queremos que se ejecuten.
Imaginar que quiero ejecutar phpMyBackupPro_v.2.1 para hacer una copia de seguridad a una hora en concreto. Lo primero que hay que decir es que UNIX no entiende scripts PERL,CGIs, ni php, solo ficheros por analogia, con msdos, digamos tipo .exe y .bat. Por lo tanto, no podemos ejecutar nigun script perl, cgi ni php sin el programa que interpreta esos comados. Yo no puedo poner, por ejemplo,
backup.php (que es el archivo a ejecutar en phpMyBackupPro)
pues UNIX no sabe interpretar un php (aunque tenga puesto como atributos que es ejecutable). Dara error. Necesito el interprete de php, PERL o lo que sea. ¿Y donde esta ese interptrete? En el caso de 1and1.es esta (despues de en su momento un rastreo por el sistema) en
/usr/local/bin
como se puede ver en la siguiente captura
Veis que esta el interprete perl tambien (esta php y perl los dos juntitos). Si utilizas otro server, puede estar en otro lado, pero lo podeis buscar con los comandos UNIX que os he puesto antes. Normalmente los ejecutables en UNIX estan todos en subdirectorios que son bin.
Entonces si quiero ejecutar backup.php tendria que hacer esto:
/usr/local/bin/php backup.php
es decir, poner el path completo del interprete php. Ahora bien eso supone que el fichero backup.php esta en el directorio donde habies ejecutado ese comando. Como cuando hagais un cronojob no estareis fisicamente en ningun subdirectorio hay que poner la ruta/camino completo de ese archivo. Basta con iros a donde esta backup.php (utilizando el comando cd) de phpMyBackup y escribir pwd que nos dara la ruta completa.
Entonces si ejecutamos
/usr/local/bin/php /el resultado de pwd/backup.php
vereis que se ha hecho una copia de segurdad con este programa. Podeis utilizar la variable $HOME para recortar el nombre (asi yo tengo puesto en mi fichero cronofile esto):
/usr/local/bin/php $HOME/un directorio borrado por mi por seguridad/phpMyBackupPro_v.2.1/backup.php
eso es lo que ejecuto. Ahora bien al archivo backup.php hay que darle unos parametros: la base de datos, si queremos que guarde las estructuras decriselo con ON, compresion con ZIP etc.. al final lo que yo ejecuto es esto
/usr/local/bin/php $HOME/YYYYYYY/phpMyBackupPro_v.2.1/backup.php dbXXXXXXXX on on on zip
YYYY es un directorio y XXXX son los numeros de mi base de datos. Con esas opciones el phpMyBackupPro me hace una copia total de la base de datos y la comprime con zip (Se supone que previamente teneis instalado este soft y configurado. Si ademas en la configuracion le habeis puesto que os mande un mail con una copia os hara una copia de los datos en local y otra os la enviara en un correo con la direcion que configurasteis en este programa (ojo que los adjuntos no pueden superar los 10 megas por parte de servicios de correos como google...)
Una vez que tengo todo el comando a ejecutrar le tengo que decir cuando (la hora/fecha,etc.). Muy sencillo:
15 04 * * * /usr/local/bin/php $HOME/YYYYYYY/phpMyBackupPro_v.2.1/backup.php dbXXXXXXXX on on on zip
lo que me hace una copia de seguridad a las 04:15 de la madrugada. OJO primero van los minutos y despues la hora. Los signos * son por si quereis hacerlo un detemrinado dia en concreto u otras variaciones mas complicadas que os las pongo mas adelante en espoiler pero recomiendo no leer salvo que se domine el tema.
Si quiero ejecutarlo a las 7:15 pues lo mismo pero ahora
15 07 * * * /usr/local/bin/php $HOME/YYYYYYY/phpMyBackupPro_v.2.1/backup.php dbXXXXXXXX on on on zip
Esto hay que empaquetarlo. Se mete en un fichero de texto y cuando digo texto me refiero a eso, sin formato de word, openoffice ni similar (yo lo edito con el block de notas de windows) con el nombre que os venga en gana. Se pueden meter/añadir cometarios con #. Asi yo tengo un fichero que lo llamo cronofile.txt que pone esto
# Haz el backup a las 4:15 am todos los dias de la base de datos del foro
15 04 * * * /usr/local/bin/php $HOME/YYYYYYY/phpMyBackupPro_v.2.1/backup.php dbXXXXXXXX on on on zip
Se pueden meter tantas lineas como tareas(jobs) querais hacer, es decir, no estamos limitados a una linea
Spoiler: [ Mostrar ]
Una vez hecho ese fichero lo subis a donde mas rabia os de con el progmaa de ftp que tengais. Y ya estamos listos para la ultima parte
3º.- CREAR EL CRONOJOB
Accedemos via SSH con el putty como al principio. Nos vamos al sitio donde hemos subido el archivo cronofile.txt moviendonos con los comandos cd /cd .. y ls -la para verificar que este
Cuando estemos en el subdirectorio exacto hay que ejecutar un nuevo comando UNIX: cronotab
Que opciones tiene este capullo:
cronotab -l os lista los cronojobs que teneis en marcha (ejecutarlo) os deberia decir que no teneis
crontotab -r es para parar (remove) TODOS los cronojobs que tengais activos
cronotab FICHERO CON FORMATO ANTERIOR: activa el cronojob con las tares puestas en ese archivo a la hora puesta en ese archivo.
En nuestro caso ponemos cronotab cronofile.txt
El sistema no contestara nada, pero para comprobar que esta bien hecho haceis
cronotab -l
y os saldra la linea de vuestro fichero. Antes no salia nada. Ahora solo queda esperar a la hora en cuestion.
Ya podeis si quereis borrar el archivo: via ftp o dentro de UNIX si sabeis el comando rm. Salimos de putty con logout/exit
Que en el futuro queremos cambiar el cronojob
a.- Hacemos otro fichero cronofile.txt
b.- Lo subimos
c.- Entramos via putty
d.- Paramos el cronojob actual (cronotab -r)
e.- cargamos el nuevo cronotab cronofile.txt
¿Que pasa si queremos utilizar el MySQLDumper? Pues la linea de ejecucion seria algo como esto:
/usr/local/bin/perl $HOME/YYYYYYY/mysqldumper/msd_cron/crondump.pl config=$HOME/YYYYY/mysqldumper/work/configmysqldumper.conf.php
filjaros que ponemos PERL y no php (el interprete de los archivos pl). Antes hay que poner la hora digamos a ejecutar a las 10:12 de la mañana
12 10 * * * /usr/local/bin/perl $HOME/YYYYYYY/mysqldumper/msd_cron/crondump.pl config=$HOME/YYYYY/mysqldumper/work/configmysqldumper.conf.php
NOTA: este ultimo programa me esta dando guerra. Ayer lo configure para que me enviara una copia de seguridad en mi email y en local con cronjob y me llegaron las dos por correo. Lo he tocado tanto que lo he cascao y ya no me hace el cronojob... Tengo que volver a reinstalarlo y empaparme con el
Espero que esto os sirva de algo. Por lo menos es la base para hacer coronjobs con cualquier programa. Y recordar poner siempre la ruta/path completo para mayor seguridad (en algunos sistemas UNIX, segun como este configurado, a lo mejor no hace falta) No he tenido mas tiempo y haber si le meto mas mano cuando lo tenga al otro "programa" el que usa el perl
Saludos
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ FIRMA ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬

WebMaster de: CalProye - Maare tulde!! (= Bienvenidos!!)
Engine: phpBB3 versión 3.0.1
Mods: varios por mi, ABBC 3, Activitiy stats, AJAX chat, Forum statistics
Portal: "board3"
Todas las traducciones al español de mods y del portal hechas por mi
Estilos soportados: prosilver, subsilver2, y BF_Vista ( traducion/botones al español currados por mi)
Hosting: "1and1.es"



























