93 visiteur(s) en ligne
Date actuelle : 23-01-2018, 09:19 AM Bienvenue, Visiteur ! ( Identification S'enregistrer )







 
[AIDE]Cron + php avec linux
 
Note de cette discussion :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Auteur Message
Nell95 Hors ligne
Newbie
*

Messages : 8
Inscription : May 2010
Réputation : 0
Message : #1
[AIDE]Cron + php avec linux
Bonjour à tous voilà j'ai des soucis
de droit avec fedora, puis des souci avec php alors je largue mon long post en espérant avoir des réponses!!

voila les soucis :

en faite j'ai un repertoire /home/ftp qui contiendra des dossiers personnels pour chaque employés de la société ou je fais mon stage et dans les dossiers des employés ceux ci auront les dossiers de leur client, les clients eux ne pourront que déposer des fichier dans leur répertoire ftp et cela enverra un mail automatique (mail rempli via un formulaire) à l'employé qui le suit avec le lien du fichiers sur le ftp ce qui donne une architecture comme ceux :

/home/ftp/nom_employé/client/fichiers_client

ce que je souhaite c'est supprimé les fichiers se situant dans les dossiers des clients (voir des employés) au bout de 21jours après dépôt

donc j'ai cherché un peu et j'ai trouvé ceux ci :
0 0 * * * /usr/sbin/tmpwatch -m 24 /home/ftp/*/*/*

en gros tout les jours à minuit cela effacera tout les fichiers de plus de 24h
de tout les fichiers, des dossiers et sous dossier

donc j'ai tester ceux ci comme cela :

38 13 6 5 4 /usr/sbin/tmpwatch -tm 1 /home/ftp/*/*/*

pour regarder ce qu'il me proposait d'effacer
et en faite il voulait simplement me supprimer le fichier contenu ici
/home/ftp/martin/sabine/fic.txt
alors qu'il ne m'a pas proposé les 2 fichiers etant dans le dossier /home/ftp/gaelle/fichier1.txt, fichier2.txt
donc techniquement il aurait du me proposer les 2 fichiers la en plus des 2 autres?

le truc c'est que j'ai dépose les fichier1.txt et fichier2.txt y a 2jours et que depuis j'avais pas fait de modif

donc maintenant si je peux faire un script php ou autre bref...

maintenant autre question en php

j'ai encore un mystère que je ne résolu pas en php
$resp = "martin";
$login="sabine"

pour reprendre l'exemple du tmpwatch


voila j'utilise exec('/root/script/Ajout_user.sh ".$resp." ".$login,$output,$retval);
j'ai fais un print_r($output) dans script sh j'ai mis des echo sur les variables $1 $2
j'ai fais un echo de mkdir /home/ftp/$1/$2

et voila ce que ca m'affiche :
$1=martin $2=sabine /home/ftp/martin/sabine

sauf que le dossier ne se créer pas... (alors qu'en commande direct ca marche)
et que si je ne met qu'un paramètre cela fonctionne

l'utilisateur du script étant apache le user:nobody gpe:nobody et j'ai fixé les droits de /home en 777
/home/ftp en 667
/home/ftp/* 666 (ceux de façon récursive donc les sous dossiers sont aussi en 666)
et pourtant par php mon sous dossier ne se crée pas

autre chose dans mon script bash je fais ceci :

si le dossiers existe message d'erreur
sinon
mkdir /home/ftp/$1/$2
chown -R ftp /home/ftp/$1 ==>je veux que l'utilisateur passe ftp car il a des droits differents d'apache
chmod -R 666 /home/ftp/$1 ==>restriction des permissions

la 1er ligne mkdir ne fonctionne pas et la suivante non plus (seul les changements de droits s'effectue...)

le probleme c'est que je dois faire la différence entre employé et client
vu qu'ensuite en fonction du privilège user ou client la personne ne verra pas la même chose.
Dans la page client celui ci ne pourra voir que /home/ftp/employé/le_nom_du_client
et le responsable du client lui verra affiché tous les dossiers contenu dans /home/ftp/nom_du_responsable/*

donc je ne sais pas d'où vient le problème du mkdir vu qu'en commande cela fonctionne , que pour un paramètre cela fonctionne aussi et que pour 2 paramètres ils sont pris en compte mais le dossier ne se crée pas bref je suis dans un mystère non résolu

Donc je fais appel à vous
Merci d'avance
07-05-2010 08:07 AM
Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Troll Hors ligne
Trolls' master
******

Messages : 15 806
Inscription : Mar 2006
Réputation : 21
Message : #2
RE: [AIDE]Cron + php avec linux
Salut à toi et :bienvenue: Nell95,

Alors, déjà, tmpwatch n'est pas fait pour faire ce que tu fais.

tmpwatch supprimer les fichiers qui n'ont pas été accédés depuis X jours.

Alors que toi tu veux raisonner sur la date de création du fichier. Or sur les OS GNU/Linux il n'y a pas de "date de création du fichier" comme sous Windows. Tu as seulement accès à deux infos :
Date de dernière modification
Date de dernier accès

Donc il faudra resteindre l'accès des employés sur les fichiers des clients par exemple en leur autorisant la lecture mais pas l'écriture (auquel cas ils le copient dans le zone personnelle). Et ensuite raisonner sur cette date de dernière modification.

Tu peux récupérer la date de dernière modification d'un fichier en utilisant (en shell) la commande suivante :


stat monfichiertest -c %x| sed "s/\.[0-9]\{9\}//"


Un poste sans accent ? La faute au clavier qwerty :/
|| Merci de mettre des titres explicites !!! || La bouille à Troll ? || 
Vous voulez remercier l'équipe du forum ? Participez ! Exprimez-vous ! Revenez et parlez de ce que vous voulez ! Wink Image: actualites-informatiques-pcw.1.gif
09-05-2010 11:16 AM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Nell95 Hors ligne
Newbie
*

Messages : 8
Inscription : May 2010
Réputation : 0
Message : #3
RE: [AIDE]Cron + php avec linux
Pour le problème du mkdir c'est réglé
il fallait mettre mkdir -p /home/ftp/$1/$2

concernant les droits et groupe je verrai ca avec mon maitre de stage

ensuite pour la suppression des fichiers dans chaque dossier et sous dossier :

vu que c'est pour du FTP la personne dépose sont fichiers dans le répertoire approprié,
et ensuite elle ne fait rien d'autre,
un mail est envoyé à la personne de son choix lui disant "j'ai déposé un fichier pour toi dans ton dossier voici le lien" ,hop la personne clique sur le lien entre les logins/mdp pour se connecter au serveur ftp et atterrir dans le dossier ou est le fichier.
ensuite le fichier ba il reste dans le dossier à "pourrir"
Vu qu'à partir du moment ou la personne dépose le fichier, le client à 20 jours pour le récupéré (si au bout des 20jour le fichier à pas été accédé c'est poubelle).
Si le client récupère le fichier il y a donc accédé (et sachant qu'il ne récupérera qu'une fois le fichier) donc à partir du moment ou le fichier a été récupéré il sera supprimé sous 20jours aussi vu qu'il n'y aura plus eu d'accès dessus.

donc le tmpwatch peut faire l'affaire je pense.
10-05-2010 08:37 AM
Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Troll Hors ligne
Trolls' master
******

Messages : 15 806
Inscription : Mar 2006
Réputation : 21
Message : #4
RE: [AIDE]Cron + php avec linux
Salut Nell95,

Ce que je t'expliquais c'est que là par exemple si je reprend ce que tu dis, si ton client s'amuse à télécharger son fichier tous les 19 jours, alors il ne sera jamais supprimé.

Car à chaque téléchargement, la date de dernier accès au fichier sera mise à jour.

D'où le fait qu'il faille utiliser la date de dernière modification... Smile

Un poste sans accent ? La faute au clavier qwerty :/
|| Merci de mettre des titres explicites !!! || La bouille à Troll ? || 
Vous voulez remercier l'équipe du forum ? Participez ! Exprimez-vous ! Revenez et parlez de ce que vous voulez ! Wink Image: actualites-informatiques-pcw.1.gif
(Ce message a été modifié le : 11-05-2010 07:18 AM par Troll.)
11-05-2010 07:18 AM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Nell95 Hors ligne
Newbie
*

Messages : 8
Inscription : May 2010
Réputation : 0
Message : #5
RE: [AIDE]Cron + php avec linux
A juste titre si le document est important et qu'il a besoin de le télécharger il doit rester ca evite de le remettre à chaque fois sur le serveur, et les personnes ne s'amuseront pas à le télécharger plusieurs fois généralement le document tu le prend 1 fois, et je peux réduire aussi le temps de stockage au lieu de mettre 20 jours ne mettre que 10 jours etc...

de toute façon j'ai un problème de droit quand je veux utiliser la fonction
je t'affiche le message d'erreur :

j'avais lancé la commande :

45 11 10 05 1 /usr/sbin/tmpwatch -tm 24 /home/ftp/*/*/*

voila le message d'erreur :

From root@localhost.localdomain Mon May 10 11:41:01 2010
Return-Path: <root@localhost.localdomain>
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by localhost.localdomain (8.14.2/8.14.2) with ESMTP id o4A9f1EE003063
for <root@localhost.localdomain>; Mon, 10 May 2010 11:41:01 +0200
Received: (from root@localhost)
by localhost.localdomain (8.14.2/8.14.2/Submit) id o4A9f1uE003062;
Mon, 10 May 2010 11:41:01 +0200
Date: Mon, 10 May 2010 11:41:01 +0200
Message-Id: <201005100941.o4A9f1uE003062@localhost.localdomain>
From: root@localhost.localdomain (Cron Daemon)
To: root@localhost.localdomain
Subject: Cron <root@localhost> /usr/sbin/tmpwatch -m 1 /home/ftp/*/*/*
Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated

X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>


error: directory /home/ftp/titi/madonna/admin.php changed right under us!!!
error: this indicates a possible intrusion attempt

ensuite j'ai testé ceci :

55 11 10 05 1 FTP /usr/sbin/tmpwatch -tm 24 /home/ftp/*/*/*

j'ai eu ceci comme message (je dirais normal car le user FTP n'existe pas)

From root@localhost.localdomain Mon May 10 11:50:01 2010
Return-Path: <root@localhost.localdomain>
Received:
from localhost.localdomain (localhost.localdomain [127.0.0.1])
by localhost.localdomain (8.14.2/8.14.2) with ESMTP id o4A9o1ZN003258
for <root@localhost.localdomain>; Mon, 10 May 2010 11:50:01 +0200
Received: (from root@localhost)
by localhost.localdomain (8.14.2/8.14.2/Submit) id o4A9o1jL003257;
Mon, 10 May 2010 11:50:01 +0200
Date: Mon, 10 May 2010 11:50:01 +0200
Message-Id: <201005100950.o4A9o1jL003257@localhost.localdomain>
From: root@localhost.localdomain (Cron Daemon)
To: root@localhost.localdomain
Subject: Cron <root@localhost> FTP /usr/sbin/tmpwatch -m 24 /home/ftp/*/*/*
Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>

/bin/sh: FTP: command not found


j'ai refais un essai comme ceci :
55 11 10 05 1 ftp /usr/sbin/tmpwatch -tm 24 /home/ftp/*/*/* => user:ftp existe et par rapport au dossier il a les droits 767

et voici le message que j'ai eu :

From root@localhost.localdomain Mon May 10 12:30:02 2010
Return-Path: <root@localhost.localdomain>
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by localhost.localdomain (8.14.2/8.14.2) with ESMTP id o4AAU1s7004147
for <root@localhost.localdomain>; Mon, 10 May 2010 12:30:01 +0200
Received: (from root@localhost)
by localhost.localdomain (8.14.2/8.14.2/Submit) id o4AAU1JA004146;
Mon, 10 May 2010 12:30:01 +0200
Date: Mon, 10 May 2010 12:30:01 +0200
Message-Id: <201005101030.o4AAU1JA004146@localhost.localdomain>
From: root@localhost.localdomain (Cron Daemon)
To: root@localhost.localdomain
Subject: Cron <root@localhost> ftp /usr/sbin/tmpwatch -m 24 /home/ftp/*/*/*
Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>

usage: ftp host-name [port]


j'ai donc essayé de mettre le user du dossier en root mais j'ai le même mess du début

donc si vous avez une idée
11-05-2010 08:47 AM
Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Troll Hors ligne
Trolls' master
******

Messages : 15 806
Inscription : Mar 2006
Réputation : 21
Message : #6
RE: [AIDE]Cron + php avec linux
Salut,

Désolé pour l'attente.

Attention tu ne peux spécifier l'utilisateur que dans certains fichier de cron. Or là il ne le prend pas en tant que nom d'utilisateur mais en tant que commande (la commande FTP n'existe pas, mais la commande ftp éxiste, et il te dit qu'il manque l'hôte auquel se connecter en paramètre).

Tu insères ces ligne dans quel fichier cron et de quelle manière ?

Un poste sans accent ? La faute au clavier qwerty :/
|| Merci de mettre des titres explicites !!! || La bouille à Troll ? || 
Vous voulez remercier l'équipe du forum ? Participez ! Exprimez-vous ! Revenez et parlez de ce que vous voulez ! Wink Image: actualites-informatiques-pcw.1.gif
18-07-2010 10:32 AM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse




Discussions apparemment similaires...
Discussion : Auteur Réponses : Affichages : Dernier message
  Comment enlever lecture seule sous linux mint 17.2 tigrokiki 1 3 734 24-08-2017 08:37 AM
Dernier message: ghous
  Comment avoir le meme menu dans linux que w10 ? tigrokiki 1 2 661 21-08-2017 08:12 AM
Dernier message: ghous
  Problème pour installer deux linux sur un même disque donkeykong 20 10 580 26-02-2017 10:55 AM
Dernier message: tigrokiki
  [Résolu] Linux mint 17.2 - Installer post-it sur le bureau tigrokiki 1 4 253 18-05-2016 02:24 AM
Dernier message: tigrokiki
Question [Résolu] Mon linux mint Xfce refuse les mise à jour tigrokiki 2 3 879 09-05-2016 17:42 PM
Dernier message: tigrokiki
  Comment choisir dossier photo de Picasa sous Linux? tigrokiki 0 3 713 02-01-2016 19:15 PM
Dernier message: tigrokiki
  [Résolu] Comment mettre à jour flash player sur Linux Mint? tigrokiki 2 3 857 30-10-2015 13:58 PM
Dernier message: tigrokiki
  [Résolu] Le systeme Kali Linux est-il illégal ? tigrokiki 4 3 791 30-10-2015 12:31 PM
Dernier message: tigrokiki
  [Résolu] tuto config audacity sous Linux Mint tigrokiki 3 2 546 07-01-2015 17:50 PM
Dernier message: tigrokiki
  [Résolu] Comment réparer boot de linux mint 17 tigrokiki 2 5 698 02-10-2014 19:29 PM
Dernier message: tigrokiki

Aller à :


Utilisateur(s) parcourant cette discussion : 1 visiteur(s)