IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Comment monter un Volume dans un dossier dédié
Options
Pierrot10
posté 16 Dec 2015, 14:31
Message #1


Adepte de Macbidouille
*

Groupe : Membres
Messages : 201
Inscrit : 19 Jan 2006
Lieu : Genève
Membre no 53 813



Bonjour à tous,

J'ai créé un petit script pour faire des backup et qui fonctionne partiellement.
J'ai deux problème
1) if exists "" then
2) le dossier de montage

Voici mo script
Code
// Control si le dossier /hom existe dans /Volumes. J'aimerais maintenant qu'il controlle le dossier 'cry'
if exists "/Volumes/home" then
// S'il existe afin un message
        tell me to display dialog "A \"HOME\" folder is already mounted. Ibackup is going to unmount it. Make sure to save and close all remote opened files."
// et détache le
        do shell script "hdiutil detach \"/Volumes/home\" -force"

    end if

end tell
// Munt le dossier distant sur /home
mount volume "smb://server.domain.ch/home/"


J'aierai qu'il monte le dossier distant, dans dossier dédié autre que /home. Par exemple /cry
Donc monter smb://server.domain.ch/home/ dans /Volumes/cry


L'autre truc, c'est qu'apparemment le if exists "Volumes/home" then ne fonctionne pas.
J'ai controllé et j'ai bien un dossier /Volumes/home, mais le message s'affiche comme même.

Donc comment bien controller si le dossier /Volumes/cry /vu que je souhaite 'cry' et plus 'home') existe bien, et ensuite monter le contenu de
'smb://server.domain.ch/home/' dans '/Volumes/cry'

Milles mercis
Go to the top of the page
 
+Quote Post
Guest_JacqR_*
posté 16 Dec 2015, 18:23
Message #2





Guests






Bonjour,

Si vous utiliser un bloc tell application "Finder" :
Vous devez convertir un chemin de type posix path comme ceci :
Code
if exists ("/Volumes/home" as POSIX file) then
if exists ("/Volumes/cry" as POSIX file) then

Ou utiliser la commande disk comme ceci :
Code
if exists disk "cry" then


Mais le Finder n'est pas nécessaire, vous pouvez utiliser la commande alias pour savoir si un (dossier, fichier ou volume) existe, comme ceci :
Code
try -- Control si le dossier /cry existe dans /Volumes.
    set monter to false
    "/Volumes/cry" as POSIX file as alias -- s'il n'existe pas, le script n'exécutera pas le reste du bloc try
    set monter to true
end try
if monter then
    tell me to display dialog "A \"HOME\" folder is already mounted. Ibackup is going to unmount it. Make sure to save and close all remote opened files."
    -- et détache le
    do shell script "hdiutil detach \"/Volumes/cry\" -force"
end if

-- Munt le dossier distant sur /cry
mount volume "smb://server.domain.ch/home/ /Volumes/cry/"
Go to the top of the page
 
+Quote Post
Pierrot10
posté 16 Dec 2015, 19:21
Message #3


Adepte de Macbidouille
*

Groupe : Membres
Messages : 201
Inscrit : 19 Jan 2006
Lieu : Genève
Membre no 53 813



Super
Merci beaucoup, je vais essayé ceci demain
Bonne soirée
Go to the top of the page
 
+Quote Post
Pierrot10
posté 17 Dec 2015, 16:28
Message #4


Adepte de Macbidouille
*

Groupe : Membres
Messages : 201
Inscrit : 19 Jan 2006
Lieu : Genève
Membre no 53 813



Hello
encore merci
Encore une petit question

Ceci ne marche pas
Code
mount volume "smb://server.domain.ch/home/ /Volumes/cry/"

mais je pense que parce que le dossier 'cry' n'existe pas.
comment créer alors le dossier 'cry'

Code
tell application "Finder"
    if exists ("/Volumes/wire" as POSIX file) then
        tell me to display dialog "A \"CRY\" folder is already exist."
        # do shell script "hdiutil detach \"/Volumes/home\" -force"
    end if
end tell
mount volume "smb://[email protected]/home/ /Volumes/cry/"


Ce message a été modifié par Pierrot10 - 17 Dec 2015, 16:32.
Go to the top of the page
 
+Quote Post
Guest_JacqR_*
posté 17 Dec 2015, 23:40
Message #5





Guests






Hello,


Vous pouvez créer un dossier avec la commande mkdir dans un do shell script.
Code
mkdir -p /Volumes/cry



Cela n'est pas possible avec la commande AppleScript "mount volume" de spécifier un dossier de montage.
Solution, il faut utilisé la commande mount_smbfs ou mount dans un do shell script.
Exemples :
Code
mkdir -p /Volumes/cry
mount -t smb //userName:[email protected]/home /Volumes/cry

ou
Code
mkdir -p /Volumes/cry
mount_smbfs //userName:[email protected]/home /Volumes/cry


Pour démonter le volume et supprimer le dossier, vous pouvez utiliser
Code
umount /Volumes/cry

Go to the top of the page
 
+Quote Post
Pierrot10
posté 7 Jan 2016, 08:53
Message #6


Adepte de Macbidouille
*

Groupe : Membres
Messages : 201
Inscrit : 19 Jan 2006
Lieu : Genève
Membre no 53 813



Hello

Merci pour ton aide,

Alors ca ne marche pas tout à fait...

Voici ma correction:
Code
tell application "Finder"
    if exists ("/Volumes/wire/" as POSIX file) then
        tell me to display dialog "A \"/Volumes/wire/\" already exists. Make sure your home folder is already mounted. Click 'OK' to continue or 'Cancel' to verify the mount"
        # do shell script "hdiutil detach \"/Volumes/wire/\" -force"
    else
        do shell script "sudo mkdir -p \"/Volumes/wire\""
        do shell script "mount -t smb //[email protected]/home/ /Volumes/wire/"
    end if
end tell


J'arrive à avoir la création du dossier wire, mais en revanche, au montage, ca coince:
Citation
Erreur dans Finder : mount: exec /System/Library/Filesystems/smb.fs/Contents/Resources/mount_smb for /Volumes/wire: No such file or directory


Si je vais cérifier le contenu de /Volumes, il y a bien le dossier /Volumes/wire.

Es-ce que ma syntaxe est juste?
Code
do shell script "mount -t smb //[email protected]/home/ /Volumes/wire/"

PS: Je ne souhiate pas que le mot de passe soit entré dans ce code, mais j'aimerais avoir une fenetre qui permet à l'utilisateur de l'entrer
merci beaucoup...

Ce message a été modifié par Pierrot10 - 7 Jan 2016, 09:22.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 25th April 2024 - 12:53