Cita:
Iniciado por maycolalvarez
para ejecutarlo desde el CLI PHP (para cron) debes de usar rutas absolutas en el crontab:
0 0 * * * miuser /usr/bin/php -q -f /midominioA/copia/copia.php
si no te funciona, crea un archivo .sh intermedio y llama a php desde él:
Código BASH:
Ver original#!/bin/bash
/usr/bin/php -q -f /midominioA/copia/copia.php
usa dicho archivo, con ruta absoluta en el crontab
la ubicación de php varia según la distro, usa whereis para ubicarlo
cambiando mi codigo, me pude dar cuenta que no estaba creado la carpeta de manera correcto, ahora me crea las carpetas, pero no me copia las imagenes:
Código PHP:
$miconexion->consulta("Select anun_id from anuncio where anun_pas<>0");
if ($miconexion->numregistros()>0)
{
while($row = mysql_fetch_array($miconexion->Consulta_ID))
{
$anun_id=$row["anun_id"];
/////////////*********///////////////
//carpeta de origen
$carpeta="midominioB/anuncios/".$anun_id."/";
$carpeta_t="midominioB/anuncios/".$anun_id."/tumbnail/";
//carpeta de destino
$carpeta1="/copia/anunciosp/".$anun_id."/";
$carpeta1_t="/copia/anunciosp/".$anun_id."/tumbnail/";
//para crear carpeta
$carpetad="anunciosp/".$anun_id."/";
$carpetad0="anunciosp/".$anun_id."/tumbnail/";
//VERIFICO SI LA CARPETA DEL ANUNCIO EXISTE COPIO IMAGENES
if (@ftp_chdir($conn_id, $carpeta))
{
if (ftp_chdir($conn_id, $origen)==true)
{
if (!is_dir($carpeta1))
{
@mkdir($carpetad, 0700);
@mkdir($carpetad0, 0700);
}
//COPIO IMAGENES PRINCIPALES
if (is_dir($carpetad))
{
for ($i = 1; $i < 6; $i++)
{
$remote_file = $origen.$carpeta.$anun_id.'_'.$i.'.jpg';
$local_file = $_SERVER['DOCUMENT_ROOT'].$carpeta1.$anun_id.'_'.$i.'.jpg';
if (@ftp_get($conn_id, $local_file, $remote_file, FTP_BINARY))
{
if (ftp_put($conn_id, $remote_file, $local_file, FTP_BINARY)) {
echo 'El archivo ' . $local_file . ' se ha cargado en el servidor remoto.' . "<br />";
} else {
echo 'El archivo ' . $local_file . ' NO se ha cargado en el servidor remoto.' . "<br />";
}
}
}
}
//COPIO IMAGENES SECUNDARIAS
if (is_dir($carpetad0))
{
for ($i = 1; $i < 6; $i++)
{
$remote_files = $origen.$carpeta_t.$anun_id.'_'.$i.'.jpg';
$local_files = $_SERVER['DOCUMENT_ROOT'].$carpeta1_t.$anun_id.'_'.$i.'.jpg';
if (@ftp_get($conn_id, $local_files, $remote_files, FTP_BINARY))
{
if (ftp_put($conn_id, $remote_files, $local_files, FTP_BINARY)) {
echo 'El archivo ' . $local_files . ' se ha cargado en el servidor remoto.' . "<br />";
} else {
echo 'El archivo ' . $local_files . ' NO se ha cargado en el servidor remoto.' . "<br />";
}
}
}
}
}
}
/////////////*********///////////////
}
}
modificando el cron quedaria:
Código:
0 0 * * * miuserSSH -q -f midominioA/copia/copia.php
pero no copia las imagenes