Seite 1 von 1

crontab script mount

Verfasst: Montag 26. Juli 2021, 14:40
von ganja
Hallo,

ich versuche eine Freigabe zu mounten habe dafür ein kleines script geschrieben, wenn ich das script manuell ausführe passt alles, aus dem cron passt es leider nicht "mount not found".
Vielleicht kann mir einer helfen?

Code: Alles auswählen

in .geheim befinden sich folgende angaben
user=user
password=password
domain=domain

subprocess.run('mount -t cifs //netzwerk/freigabe /mnt/hierhin -o credentials=/etc/hier/.geheim')
"""
wie gesagt manuell funktioniert es aber aus cron nicht
versucht habe ich noch folgendes, da wird aber .geheim nicht gefunden, da ich die Funktion nicht hinbekomme wie es sein soll!
cronjob root
600 .geheim
Ich vermute ich übergebe die options falsch, wie geht es richtig? 
Oder geht es so gar nicht bin ich auf einem falschem Weg?

"""

#type = "ntfs"
options = "/etc/hier/.geheim"
source = "//netzwerk/freigabe"
mount = "/mnt/hierhin"

subprocess.run([
    "mount",
    "-t",
    "cifs",
    source,
    mount,
    "-o",
    options,],
    shell=True,
)
Vielen Dank im Voraus

Re: crontab script mount

Verfasst: Montag 26. Juli 2021, 15:04
von nezzcarth
Gegenfrage: Gibt es einen Grund, weshalb du das so lösen möchtest und nicht über einen der regulären Wege (fstab oder Systemd-Unit)?

Re: crontab script mount

Verfasst: Montag 26. Juli 2021, 15:14
von ganja
hallo @nezzcarth,

ich denke mit fstab wäre die Freigabe permanent gemountet das geht nicht.
Ich möchte es nur dann mounten wenn ich kopieren will.
Ich denke für meine Anforderung ist es das richtige, leider weiß ich nicht ganz wie ich es umsetzen kann.

Re: crontab script mount

Verfasst: Montag 26. Juli 2021, 15:19
von DeaD_EyE
Ersetze "mount" durch "/bin/mount"

EDIT: system-unit ist besser

Re: crontab script mount

Verfasst: Montag 26. Juli 2021, 15:33
von ganja
hallo @DeaD_EyE,

danke werde ich versuchen, aber es klingt mir irgendwie zu simple

Re: crontab script mount

Verfasst: Montag 26. Juli 2021, 15:40
von Sirius3
/bin sollte auch bei cron im Suchpfad sein.
shell=True sollte man nicht benutzen. `credentials` fehlt.

Code: Alles auswählen

subprocess.run(["mount", "-t", "cifs", source, mount, "-o", f"credentials={options}",])
Welche Fehlermeldung bekommst Du denn?

Re: crontab script mount

Verfasst: Montag 26. Juli 2021, 15:51
von ganja
Hallo @Sirius3,

jetzt, ja credentials fehlt, jetzt macht es sinn. Danke, ich teste es morgen.
Ich kann im crontab /bin nicht mit angeben da gebe ich nur das .py

Das shell=True habe ich von rsync Funktion mit übernommen, ist auch hier irgendwo im forum, da habe ich auch Hilfe gebraucht.

Danke

Re: crontab script mount

Verfasst: Montag 26. Juli 2021, 17:12
von nezzcarth
Wenn du in der fstab die passenden Option ('noauto') setzt, wird das Laufwerk auch nicht automatisch gemounted. Das kann dann zum Beispiel von Systemd beim ersten Zugriff erledigt werden (https://wiki.archlinux.org/title/fstab# ... th_systemd). Eine Alternative ist autofs (https://wiki.ubuntuusers.de/Autofs/).

Re: crontab script mount

Verfasst: Dienstag 27. Juli 2021, 15:32
von ganja
Hallo,
ich habe es kurz getestet scheint mit dem bsp. von @Sirius3 zu funktionieren, im moment fange ich keine errors ab da muss ich dran.

@nezzcarth ja mit noauto, aber dann habe ich ca 30 eintrage im fstab, ich denke die Lösung die ich anstrebe ist übersichtlicher, wenn ich etwas ändern muss dann nur an einer stelle, ehrlich gesagt ich weiß es nicht.
Vielleicht teste ich es mal am Wochenende fstab.
Hast du Erfahrung damit, wie lange dauert es bis die Ordner/mount da sind wenn man sie braucht, ich habe bedenken das es zu lange dauert!

Danke

Re: crontab script mount

Verfasst: Dienstag 27. Juli 2021, 16:32
von LukeNukem
ganja hat geschrieben: Montag 26. Juli 2021, 15:14 ich denke mit fstab wäre die Freigabe permanent gemountet das geht nicht.
Nein, schau mal in die Manpage von fstab(5).

Re: crontab script mount

Verfasst: Mittwoch 28. Juli 2021, 16:15
von ganja
Danke @LekeNukem,
ich bleibe bei dem wie ich es bereits habe, fstab ist nicht das richtige in meinem fall.