Rsync, Batch et crontab - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 17-05-2013 à 09:02:59
mets les chemins absolus. crontab n'est pas un shell il n'a pas de .profile ou .bashrc donc pas d'envrionnement dédié....
par exemple cette cron avec plusieurs rsync fonctionne parfaitement parce que les chemins sont complets
17 */3 * * * sync |
Marsh Posté le 19-05-2013 à 12:13:14
pour relancer sur le sujet,
je souhaite synchroniser un dossier partager windows vers un serveur linux, à partir de linux.
Le serveur doit donc :
1. monter le dossier partagé si ce n'est pas déjà fait
2. synchroniser le contenu
Comme j'y connais rien, je bloque à chaque étape évidemment
Par exemple, pour monter un dossier partagé, je dois utiliser la commande mount, qui n'est accessible qu'en root sur ma machine.
Faut-il donc que mon script soit lancé par l'admin ? où y a t-il un moyen de lancer le mount via un utilisateur normal ? Si oui, comment faire ? Si je donne les droits en sudo, je vais être obligé de mettre mon mot de passe en clair dans le script, c'est pas top
Marsh Posté le 19-05-2013 à 12:16:00
en fouillant un peu, je crois qu'il faudrait que je mette mount dans sudoers, ou un truc du genre ... ?
Marsh Posté le 20-05-2013 à 12:57:43
_pollux_ a écrit : en fouillant un peu, je crois qu'il faudrait que je mette mount dans sudoers, ou un truc du genre ... ? |
de mémoire
chmod u+s /sbin/mount.cifs et /bin/umount
Marsh Posté le 20-05-2013 à 17:39:33
A oué, bourrin mais pourquoi pas.
j'ai trouvé une autre solution entre temps, j'aurai du la rapporter ici.
Le truc, c'est d'autoriser l'utilisateur à utiliser la fonction mount via /etc/sudoers, programmable via le programme visudo.
Marsh Posté le 25-05-2013 à 11:48:22
_pollux_ a écrit : A oué, bourrin mais pourquoi pas. j'ai trouvé une autre solution entre temps, j'aurai du la rapporter ici. |
Ce n'est pas la bonne solution.
Il faut bien configurer le point de montage dans le fichier /etc/fstab en ajoutant les options qui vont bien pour autoriser les utilisateurs a monter la partition.
Marsh Posté le 25-05-2013 à 13:20:02
ah ?
C'est pas con, mais le principe précisément c'est ?
J'ai un dossier partagé sur ma machine windows en 192.168.0.10/Musique par exemple.
Je veux qu'un utilisateur puisse la monter sur /mnt/musique le temps de faire le rsync.
Je dois rajouter quelle type de ligne dans fstab ?
quelque chose de ce genre ?
Code :
|
et ça va monter le dossier à quel moment ? Dès que je vais y faire une requête ?
je crois avoir compris, faut que je teste
Marsh Posté le 25-05-2013 à 19:20:56
bon, j'ai essayé, mais j'ai une erreur à la con, je trouve pas le problème.
En gros, sur un dossier, ça se passe bien, sur l'autre, j'ai cette erreur:
Code :
|
Pour un autre fichier partagé, aucun problème.
Les deux sont référencés de la façon suivante dans fstab :
Code :
|
Marsh Posté le 26-05-2013 à 11:10:08
Tu es sur que le répertoire est bien partagé dans windows ? Qu'il n'y a pas un firewall qui bloque ou autre ?
Si ça marche pour un ça doit marcher pour un autre
Marsh Posté le 26-05-2013 à 12:14:41
bah j'ai bein vérifié, essayé de créer d'autres dossiers partagés, etc, etc ...
Le fait est que j'arrive à partager un dossier, mais pas plus.
En passant par sudo mount, je peux tout monter sans problème, en passant par fstab, je ne monte qu'un seul dossier.
je comprends vraiment pas
Marsh Posté le 26-05-2013 à 12:28:37
En effet c'est étrange.
Au pire tu fais un script en bash (toute façon faut en faire un pour automatiser ton backup) qui
1 mount du premier rep,
2 rsync
3 unmount
4 mount du second
5 sync du second
4 umount
Comme ça tu n'en montes qu'un a la fois ^^
Marsh Posté le 26-05-2013 à 14:59:02
oué, mais c'est ça le truc bizarre, ça ne le fait que sur certains dossiers...
C'est pour ça que j'y comprends rien. Même si je n'en monte qu'un seul, c'est passe pas. En gros, j'ai un dossier qui se monte, je sais pas pourquoi, et pas les autres. J'ai vérifié les droits sur /mnt/photos et /mnt/music et ce sont les mêmes...
donc, je pense qu'il y a effectivement un problème de droit quelque part, qui fait que je peux monter ce que je veux en root, mais pas en user, mais je n'arrive pas à voir de différence entre les fichiers. Faudra que je fasse ça à tête reposée
Code :
|
je crois que je dois halluciner, mais je ne vois pas trop où
Marsh Posté le 26-05-2013 à 15:19:15
pas mieux
pendant ce temps :
Code :
|
pas de soucis via sudo
Marsh Posté le 26-05-2013 à 22:57:12
smbtree -b -N
ça donne quoi en user normal puis en root ?
Marsh Posté le 27-05-2013 à 19:49:48
Dans les 2 cas :
Code :
|
Le partage samba sur le serveur est normal, il n'a rien à voir, je pensais au départ utiliser un client sur windows pour backup, mais je trouve que travailler à partir du serveur est plus pratique (interrogation des clients qui si allumés sont backupés)
Marsh Posté le 02-06-2013 à 14:01:24
bon bé problème résolu.
J'ai recréé un dossier sous windows et le partage a fonctionné.
J'ai toujours pas compris pourquoi ça ne marchait pas sachant que j'avais a priori exactement les mêmes droits sur chaque dossier, mais ... c'est windows
Marsh Posté le 16-05-2013 à 19:05:34
Bonjour,
Je rencontre un souci sous Linux avec Rsync :
J'ai un script contenant 4 lignes de Rsync
En lançant ce script en ligne de commande, pas de souci
Je le mets en crontab et là, il me fait n'importe quoi. Il me dit synchroniser plus de 100 fichiers alors qu'il n'y a eut aucune modif'. Des fichiers ne sont pas copiés, etc...
Que ce soit en ligne de commande ou en crontab, c'est le même user, pas d'utilisation de sudo...
Donc la je sèche un peu et je suis preneur pour toute piste.
Merci