OVH Cloud OVH Cloud

Monter et demonter des volumes

34 réponses
Avatar
patrick.1150RTcazaux
Bonjour,

Je suis à la recherche d'un utilitaire tout petit et très discret, qu'on
pourrait par exemple mettre dans la barre des menus, ou dans le Dock, et
qui permettrait de monter et de démonter des disques branchés sur le
Mac, à la demande.
Exemple, j'ai mon disque de sauvegarde branché en permanence, mais je ne
fais mes sauvegardes que la nuit, j'ai donc programmé grâce à Cronnix un
cron qui le monte et un autre qui le démonte avant et après. Mais il
m'arrive parfois de vouloir récupérer tel ou tel ancien fichier qui s'y
trouve. Et dans ce cas, je ne peux que l'éteindre puis le rallumer, ou
encore brancher et débrancher la prise Firewire, deux chose qui
m'embêtent. Peut-on faire ça par soft sans être obligé de lancher à
chaque fois l'utilitaire de disques ?

Merci d'avance
--
Tardigradus

10 réponses

1 2 3 4
Avatar
blanc
Tardigradus wrote:

Ça marche pas :(


C'est que ton fichier ne doit pas être dans le même répertoire ...
Soit tu le places dans ton répertoire principal (la petite maison, ton
**home** quoi), avant de faire la commande dans le Terminal ;

soit tu utilises la commande cd du Terminal pour changer de répertoire
courant ;

soit tu fait la commande avec le chemin complet du fichier.

Pour obtenir ce chemin, il te suffit de taper le début de la commande (y
compris l'espace final) :

chmod u+x

et ensuite tu fais glisser le fichier mount.command depuis le Finder
vers le Terminal.

Après ça il ne te reste plus qu'à valider.

JPaul.


--
/==/==- Jean-Paul BLANC
/ /--/--// quelque-part (somewhere)
|/| L | en (in)
/|| = ||| FRANCE

Avatar
blanc
Nicolas MICHEL wrote:

Sinon tu peux fermer la fenêtre mais laisser le termial ouvert...


Pour ça il suffit sjnmt de mettre exit à la fin du script

JPaul.
--
/==/==- Jean-Paul BLANC
/ /--/--// quelque-part (somewhere)
|/| L | en (in)
/|| = ||| FRANCE

Avatar
laurent.pertois
Nicolas MICHEL wrote:

osascript
Tell Application "Terminal" To Quit


Et en quoi un osascript, bâtard d'entre deux mondes, serait-il plus
propre qu'un killall, stp ? :)


Parce que de toutes façons ton script n'est pas portable sans
arrangement sur une autre plateforme et que donc dans ce cas on peut
utiliser des spécificités de Mac OS X. Ensuite, osascript va envoyer un
apple event demandant gentiment de quitter alors que killall n'est pas
aussi gentil.

Quand je dis que c'est vite et sale, c'est que s'il y a plusieures
fenêtres d'ouvertes, killall ferme tout. Mais ta commande aussi, non ?


Il fait un commande-q qui est plus gentil pour l'appli mais surtout pour
l'utilisateur pour les cas que cite Saïd.

--
Politically Correct Unix - UTILITIES
The "touch" command has been removed from the standard distribution due
to its inappropriate use by high-level managers.


Avatar
patrick.1150RTcazaux
Nicolas MICHEL wrote:

Concrêtement, on fait ça comme je te l'ai écrit.
juste remplacer "ExternalDiskName" par le nom de ton disque.
J'ai testé la commande avec mon disque externe, ça fonctionne.

Tandis qu'avec le nom, je serais peinard.


Oui, pour autant qu'ils ne s'appellent pas tous "backup" :)


Je reviens sur ce fil car j'ai eu l'idée de modifier la commande que
j'avais mise dans le cron (via Cronnix) en la remplaçant par la tienne,
qui désigne un disque par son nom.

Dans le script que vous m'avez aidé à faire, les uns et les autres, ça
marche, mais dans le cron ça ne marche pas. Pourtant j'ai copié-collé la
commande en question, à savoir :

mount $(diskutil list |awk '/Seagate_300/ {print $6}')

mise à la place de :

/usr/sbin/diskutil mountDisk /dev/disk1

Oukèlé l'erreur ? Merci d'avance.

--
Tardigradus


Avatar
laurent.pertois
Xavier wrote:

Il y a un gag très classque avec cron : les variables d'environnement (y
compris et surtout $PATH) sont effacées avant. Donc, il faut donner les
path complets des applis qu'on utilise.


Ou refaire le $PATH dans le fichier de config de Cron ou dans le script
lancé par Cron, si c'est un script, non ?

--
Politically Correct Unix - UTILITIES
The "touch" command has been removed from the standard distribution due
to its inappropriate use by high-level managers.

Avatar
patrick.1150RTcazaux
Xavier wrote:

Quel est le message d'erreur, s'il y en a un dans /var/log/system.log ?


Il n'y en a pas.

Oukèlé l'erreur ? Merci d'avance.


Il y a un gag très classque avec cron : les variables d'environnement (y
compris et surtout $PATH) sont effacées avant. Donc, il faut donner les
path complets des applis qu'on utilise.


C'est-à-dire qu'il faut que je mette "/usr/sbin/" au début ?

--
Tardigradus


Avatar
patrick.1150RTcazaux
Laurent Pertois wrote:

Ou refaire le $PATH dans le fichier de config de Cron ou dans le script
lancé par Cron, si c'est un script, non ?


Je ne comprends pas. Je ne suis pas unixien le mons du monde, j'essaie
juste de me dépatouiller avce ce que je crois comprendre. La commande
initale que j'avais mise dans le cron via Cronnix était :

/usr/sbin/diskutil mountDisk /dev/disk1

Elle marchait, mais j'ai appris plus haut dans ce fil qu'il était
possible de monter un volume en l'appelant par son nom, via la commande
suivante :

mount $(diskutil list |awk '/Seagate_300/ {print $6}')

Or, si cette commande marche bien dans le script qu'on m'a fait faire,
elle ne marche pas lorsque je la teste dans Cronnix : il ne se passe
rien, le volume ne monte pas, il n'ya pas de message d'erreur, juste que
rien ne se passe.

--
Tardigradus

Avatar
laurent.pertois
Tardigradus wrote:

C'est-à-dire qu'il faut que je mette "/usr/sbin/" au début ?


Ca dépend où est rangé la commande. Pour le savoir, tu as la commande
which :

[rdaneel:~] laurent$ which diskutil
/usr/sbin/diskutil

[rdaneel:~] laurent$ which awk
/usr/bin/awk

Dans un cas ce sera donc /usr/sbin, dans l'autre /usr/bin.

--
Politically Correct Unix - UTILITIES
The "touch" command has been removed from the standard distribution due
to its inappropriate use by high-level managers.

Avatar
patrick.1150RTcazaux
Xavier wrote:

Il faut appeler diskutil (et awk tant que l'on y est) part leur path
complet. Sinon cron ne les trouve pas.


Et c'est quoi, leur path complet ? /usr/bin/ ? J'ai essayé en mettant ça
au début, mais ça ne change rien. Mais je vais esayer aussi avec awk.

Bon, que dalle. Et si je lui donnais à executer mon script, plutôt ?
--
Tardigradus

Avatar
blanc
Tardigradus wrote:

Et c'est quoi, leur path complet ? /usr/bin/ ?



La commande which devrait te les donner :

which diskutil
/usr/sbin/diskutil

which awk
/usr/bin/awk


JPaul.
--
/==/==- Jean-Paul BLANC
/ /--/--// quelque-part (somewhere)
|/| L | en (in)
/|| = ||| FRANCE

1 2 3 4