Aide sur script Synology DS216j - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 19-01-2017 à 09:07:46
Quel message d'erreur as-tu quand tu les exécutent une à une et dans quel contexte tu souhaites les utiliser (script manuel, crontab, quel shell, etc...) ?
Marsh Posté le 19-01-2017 à 09:09:26
si c'est sur un linux classique, un coup de
man date |
te dira ce qui ne va pas avec l'option -d de date
Marsh Posté le 19-01-2017 à 09:14:52
Bonjour o'gure,
merci de ton post.
o'gure a écrit : Quel message d'erreur as-tu quand tu les exécutent une à une et dans quel contexte tu souhaites les utiliser (script manuel, crontab, quel shell, etc...) ? |
En fait, il ne se passe rien.
o'gure a écrit : dans quel contexte tu souhaites les utiliser (script manuel, crontab, quel shell, etc...) ? |
Tu me parles chinois là. Je n'y connais rien. Peut-tu détailler ?
o'gure a écrit : si c'est sur un linux classique |
C'est dans NAS Synology DS216j\panneau de configuration\Planificateur de tâches
Marsh Posté le 19-01-2017 à 09:29:01
As tu un accès ssh à ton NAS ?
Su un linux classique, la commande "date -d" est incomplète et demande un paramètre complémentaire
[ oggy@EnezVriad ~ ] |
http://www.linux-france.org/articl [...] ate-1.html
Marsh Posté le 19-01-2017 à 09:34:36
En effet, je viens de tester et c'est sûr en exécutant le script ligne par ligne et c'est $(date) qu'il n'aime pas.
J'avais remplacé $(date) par ABCD à la fin de cette 1ère ligne temporairement et ça a fonctionné.
Mais je n'arrive pas à trouver pour résoudre ce $(date)
Marsh Posté le 19-01-2017 à 10:18:24
%D ne fonctionne pas
$(date +%d/%m/%y) ne fonctionne pas (issu de http://www.developpez.net/forums/d [...] -date-jour )
Marsh Posté le 19-01-2017 à 10:22:07
popeye0 a écrit : %D ne fonctionne pas |
Code :
|
Marsh Posté le 19-01-2017 à 10:25:35
popeye0 a écrit : %D ne fonctionne pas |
tu veux faire quoi exactement ?
Marsh Posté le 19-01-2017 à 10:27:02
Le paramètre -p pour ?
mkdir -p/volume1/admin/%D ne fonctionne pas
Marsh Posté le 19-01-2017 à 10:29:27
'tain mais arrêter de lancer des commandes au petit bonheur la chance... regarder avant dans la doc ce que ça veut dire (man mkdir).
idem arrêter de proposer des solutions sans savoir ce que les gens cherchent à faire (je doute qu'il souhaite 3 répertoires imbriqué avec d"abord le jour puis le mois et l'année...)
-p est une option de mkdir (donc il faut un espace entre l'option -p et le reste des arguments, là tu as coller -p/) permettant de créer un répertoire et ses parents si'l n'existe pas. Par exemple
mkdir a/b/c va créer le répertoire a, le b dans le a et le c dans le b
là tu colles le %D comme ça, là sans comprendre son sens...
Je te dis te de jeter dans un puits et ta commande marchera, tu le fais ?
Marsh Posté le 19-01-2017 à 10:29:47
ReplyMarsh Posté le 19-01-2017 à 10:33:04
à priori tu cherche à créer une répertoire en fonction de la date et pour cela tu veux utiliser la commande date.
Déjà:
- indique nous le format des noms du répertoire que tu souhaites à terme
- essaye juste la commande date en lisant le manuel
- chaine mkdir avec la commande date dedans
Marsh Posté le 19-01-2017 à 10:37:40
o'gure a écrit : tu veux faire quoi exactement ? |
1) De façon automatique à une horaire précise, créer un dossier au format suivant AAAA/MM/JJ. Le Synology peut créér automatiquement le dossier à une horaire précise grâce à son planificateur de tâches intégré.
2) Dans ce dossier nouvellement créé, déposer automatiquement tous les fichiers image *.bmp contenu à la racine du volume
3) Supprimer quotidiennement et automatiquement tous les dossiers > à 180 jours
Marsh Posté le 19-01-2017 à 10:40:18
Déjà le 1, tu veux que ça soit 3 dossiers imbriqués ou un dossier qui s'appelle exactement ?
Si 3 dossiers
mkdir -p $(date +%Y/%m/%d)
si c'est 1 un seul dossier il faut échapper le / (cela étant je te recommande plutot de mettre un - car /est le séparateur de dossier
mkdir $(date +%Y\/%m\/%d)
Ensuite lit la doc pour comprendre comment ce format fonctionne !
Marsh Posté le 19-01-2017 à 10:42:12
o'gure a écrit : à priori tu cherche à créer une répertoire en fonction de la date |
Tout à fait
o'gure a écrit : - indique nous le format des noms du répertoire que tu souhaites à terme |
Dossier au format suivant AAAA/MM/JJ
o'gure a écrit : - essaye juste la commande date en lisant le manuel |
Cette page : http://www.linux-france.org/articl [...] ate-1.html ?
ou
ce manuel Synology Syno_UsersGuide_NAServer_fra.pdf ?
o'gure a écrit : Déjà le 1, tu veux que ça soit 3 dossiers imbriqués ou un dossier qui s'appelle exactement ? |
Grâce au planificateur de tâche Synology, à 23:55, je veux la création automatique d'1 dossier à la date du jour sous le formatsuivant AAAA/MM/JJ.
Et toujours grâce au planificateur de tâche Synology, à 00:10, tous les fichiers images *.bmp sont déposés dans ce dossier.
Marsh Posté le 19-01-2017 à 11:02:08
Les 2 premières lignes de script fonctionnent
mkdir /volume1/admin/`date +%Y%m%d`
mv /volume1/admin/*.bmp /volume1/admin/`date +%Y%m%d`
La 3ème ligne ne fonctionne pas
find /volume1/admin/* -type d -mtime +0 | xargs rm -rf
J'ai mis 0 pour tester au lieu de 180 jours. Je ne vais pas attendre 6 mois.
Marsh Posté le 19-01-2017 à 11:49:42
Une idée ?
Marsh Posté le 19-01-2017 à 13:49:17
c'est pas la peine de le upper au bout de 17 minutes vue le dynamisme de cette catégorie
-mtime +0 => modifié depuis un jour ou plus
Marsh Posté le 19-01-2017 à 13:50:06
ReplyMarsh Posté le 19-01-2017 à 14:28:37
Citation : créer un dossier au format suivant AAAA/MM/JJ |
tu ne peux pas crèer UN dossier dans ce format : le / représente le structure hiérarchique du système de fichier sur UNIX/Linux.
à la rigueur, tu pourrais créer une hiérarchie de dossiers, mais ni un fichier, ni un répertoire dont le nom contiendra ce caractère.
Marsh Posté le 19-01-2017 à 20:46:39
o'gure a écrit : c'est pas la peine de le upper au bout de 17 minutes vue le dynamisme de cette catégorie |
17 min ? 47 min plutôt, non ?
o'gure a écrit : -mtime +0 => modifié depuis un jour ou plus |
?
Bah pourtant, cette ligne fonctionne :
mkdir /volume1/admin/`date +%Y%m%d`
Marsh Posté le 19-01-2017 à 21:18:42
popeye0 a écrit :
|
Peu importe, tant que ton topic est dans le haut de la première page voir dans la première page, ça ne sert à rien de le remonter. Les gens ici ne sont pas payés pour faire du support...
??
popeye0 a écrit :
|
date +%Y%m%d et date +%Y/%m/%d ce n'est pas pareil.
Comme dit watael on ne peut créer un dossier ou un fichier avec le caractère / dans le nom.
Marsh Posté le 24-01-2017 à 23:04:33
o'gure a écrit : date +%Y%m%d et date +%Y/%m/%d ce n'est pas pareil. |
Ok
o'gure a écrit : -mtime +0 => modifié depuis un jour ou plus |
Oui, tout à fait, c'est bien ça.
Je rappelle que pour tester, je met 0 à la place de 180 jours.
Car je ne vais quand même pas attendre 6 mois pour ce qui est de la date des dossiers, pour tester
Mais cette ligne de script : find /volume1/admin -name *~ -type d -mtime +0 | xargs rm -rf
ne fonctionne pas pour ce que j'ai besoin : Supprimer quotidiennement et automatiquement tous les dossiers > à 180 jours
Marsh Posté le 25-01-2017 à 13:22:58
dire « ça marche pas », c'est comme dire au médecin « je suis malade ».
que se passe-t-il ?
que ne se passe-t-il pas ?
que se passe-t-il qui ne devrait pas se passer ?
...
Marsh Posté le 19-01-2017 à 09:06:24
Bonjour,
Ces lignes de script ne fonctionne pas.
mkdir /volume1/admin/$(date -d) creation du dossier du jour
mv /volume1/admin/*.bmp /volume1/admin/$(date -d) deplacement des fichiers vers le dossier du jour
find /volume1/admin/* -type d -mtime +180 | xargs rm -rf suppression des dossiers
Selon vous, où est-ce qu'il y a une erreur ?
En vous remerciant d'avance,
---------------
✖ => Escroc de haut vol et rentier de père en fils depuis 1848. <= ✖