Cron job full path: Toujours des erreurs de pipe cassées

Je sais que ce que je fais mal ne comprend pas les informations correctes sur le chemin du fichier, mais après plusieurs heures de tweeking, je suis encore en train de recevoir sh: 2012-06-08-01-25.sql.gz: Permission denied mysqldump: Got errno 32 on write erreur d’ sh: 2012-06-08-01-25.sql.gz: Permission denied mysqldump: Got errno 32 on write . Voici mon script:

 $dbhost = "DATABASE HOST"; $dbuser = "DATABSE USER"; $dbpass = 'PASSWORD'; $dbname = "DATABASE NAME"; $backupfile = '/home/12345/data/backup/'.date("Ym-dTH:i") . '.sql.gz'; system("mysqldump -h $dbhost -u $dbuser --password='$dbpass' $dbname | gzip > $backupfile"); $backupfile = $backupfile; # To S3 require('/home/12345/data/backup/S3.php'); if (!defined('awsAccessKey')) define('awsAccessKey', 'ACCESS KEY'); if (!defined('awsSecretKey')) define('awsSecretKey', 'SECRET KEY'); $s3 = new S3(awsAccessKey, awsSecretKey); if (!$s3->putObjectFile($backupfile, "BUCKET", 'db-backup/'.$backupfile, S3::ACL_PRIVATE)) { die("104"); } system("rm $backupfile"); 

Le script compresse ma firebase database en utilisant gzip et mysqldump, puis télécharge ce fichier ZIP dans un dossier sécurisé et chiffré sur un compartiment S3.

C’est la clé:

 sh: 2012-06-08-01-25.sql.gz: Permission denied 

Chown / chgrp à un utilisateur / groupe avec des permissions d’écriture et / ou modifier les permissions avec chmod afin que l’utilisateur / groupe exécutant puisse lire / écrire dans le répertoire de destination.

Le tube est cassé car il ne peut pas écrire le fichier, permission refusée.

Il semble que vous ne soyez pas autorisé à écrire dans / home / 12345 / data / backup. Assurez-vous que les permissions permettent à l’utilisateur qu’Apache s’exécute pour écrire dans le répertoire spécifié en changeant le propriétaire du dossier en utilisateur Apache et en lisant / exécutant pour tout le monde:

 chown {*APACHE-USER*} /home/12345/data/backup chmod 755 /home/12345/data/backup