Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Backup procedure in terminal venster valt plots weg.  (gelezen 203 keer)

Offline Kurt DM

  • Lid
Backup procedure in terminal venster valt plots weg.
« Gepost op: 2020/09/22, 10:22:38 »
Ik gebruik al een aantal jaar een zelfgeschreven backup procedure die wekelijks (anacron) een terminal window start en vraagt een usb stick aan te koppelen, waarna de backup start.
De procedure draait nu op mijn nieuwe systeem, waar na een tijdje gestart te zijn, tijdens de backup het window plots verdwijnt. Door manueel (met icoontje) de backup te herstarten (die loopt dan onder de eigen gebruiker en niet onder root) loopt de backup dan alsnog verder, maar dat is uiteraard niet gewenst.
De procedure die de backup start ziet er als volgt uit:

#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
export DISPLAY=:0.0
#export XAUTHORITY=/home/gebruiker/.Xauthority
export XAUTHORITY=/run/user/1000/gdm/Xauthority
/usr/bin/gnome-terminal -e /home/gebruiker/Ubuntu/rugop.sh

Het export commando is het "oude" export commando waarmee de procedure startte op mijn vroegere systeem. Blijkbaar is dit in 20.04 verplaatst, maar ik denk niet dat dat iets met het probleem te maken heeft.

Het terminal window wordt nu gestart door anacron onder root uiteraard en ziet er lichtjes anders uit dan het window dat je start onder de eigen gebruiker, wat wel raar is.
Ik heb dit probleem vroeger ook wel een gehad maar ik had het opgelost door in het terminal window bij "voorkeuren - als opdacht eidigt - terminal openhouden" in te stellen.
Ik heb dit nu ook gedaan door als root (met sudo -i) het terminal window (gestart met het commando /usr/bin/gnome-terminal -e /home/gebruiker/Ubuntu/rugop.sh) zo in te stellen.
Dit blijkt echter het probleem niet op te lossen.
Weten jullie me hierbij te helpen?

Hieronder een stukje van het terminal window gestart onder root en onder de eigen gebruikersnaam.




Offline Kurt DM

  • Lid
Re: Backup procedure in terminal venster valt plots weg.
« Reactie #1 Gepost op: 2020/09/22, 10:32:34 »
Oeps, hier in bijlage een beeld van beide terminal windows.

Offline Kurt DM

  • Lid
Re: Backup procedure in terminal venster valt plots weg.
« Reactie #2 Gepost op: 2020/09/22, 14:16:59 »
Nog wat extra info:

In de logfiles (het backup commando is rsync die ik laat loggen) kijken toont dat de laatste drie maal dat dit probleem voorkwam, het terminal window verdwijnt na 2 minuten, en dit tijdens het backuppen van de thunderbird files (thunderbird is op zich waarschijnlijk het probleem niet).
De icoontjes in nautilus van de logfiles vertonen een slotje en de eigenaar van de files blijkt root. De logfiles van de backups die volledig gelopen zijn hebben mij als eigenaar en de icoontjes vertonen geen slotje.

Offline vanadium

  • Lid
  • Steunpunt: Nee
Re: Backup procedure in terminal venster valt plots weg.
« Reactie #3 Gepost op: 2020/09/22, 14:36:16 »
Waarom het niet (meer) werkt zoals je nu doet, weet ik niet. Ik zou het echter zo niet doen.

Is er een reden waarom een script, dat input van de gebruiker vraagt in een grafische terminalemulator, als root moet gestart worden?

Als de backup dient om je documenten veilig te stellen, heb je geen beheerdersbevoegdheid nodig. Dan maak je een cronjob aan die enkel zal opstarten als je ook ingelogd bent ("crontab -e" om die crontab van de gebruiker aan te maken). Dan moet je niet al die variabelen exporteren om één en ander aan de praat te krijgen.

Mocht je toch beheerdersbevoegdheden nodig hebben voor de kopieeropdracht, dan nog kan je dat in eerste instantie opstarten in een grafische terminal als gewone gebruiker. Dan kan je de kopieeropdracht in je script met "sudo " aanroepen. Je paswoord zal dan gevraagd worden in de terminal. Het ingeven van je beheerderspaswoord kan dan je bevestiging zijn dat je de USB aangekoppeld hebt, en dat de backup mag doorgaan (ik weet niet hoe je nu bevestiging vraagt).

Offline Kurt DM

  • Lid
Re: Backup procedure in terminal venster valt plots weg.
« Reactie #4 Gepost op: 2020/09/22, 14:47:08 »
Neen Vanadium, ik heb absoluut geen root nodig, mijn eigen user is zeker genoeg. Ter info: Ik start een terminal window op met de vraag om een usb stick aan te koppelen, waarna de backup naar deze stick gebeurd.

Ik gebruik wel anacrontab om de procedure te starten en neit gewoon cron, met volgende inhoud:
# /etc/anacrontab: configuration file for anacron
# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# These replace cron's entries
1   5   cron.daily    nice run-parts --report /etc/cron.daily
7   10   cron.weekly    nice run-parts --report /etc/cron.weekly
@monthly   15   cron.monthly nice run-parts --report /etc/cron.monthly
1   5   cron.hourly   nice run-parts --report /etc/cron.hourly

SHELL=/bin/bash
HOME=/home/kurt
LOGNAME=kurt
7 2 kurt /bin/bash /home/kurt/Kurt/Ubuntu/startbackup

Weet jij hoe ik er kan voor zorgen dat deze startbackup onder mijn user (kurt) kan starten? Blijkbaar is LOGNAME=kurt niet voldoende?



Offline vanadium

  • Lid
  • Steunpunt: Nee
Re: Backup procedure in terminal venster valt plots weg.
« Reactie #5 Gepost op: 2020/09/22, 15:26:24 »
Je doet het met anacron wel op de juiste manier: dat commando wordt, door jou gebruikersnaam aan te geven, als jou gebruiker uitgevoerd. Weliswaar kennen die commando's die via anacron opgestart zijn, je grafische omgeving niet - anacron werd nooit ontworpen om grafische programma's te starten. Dat is de verklaring waarom die terminal er anders uitziet.

/etc/crontab hoor je niet zelf aan te passen. Mogelijk wordt het op een bepaald moment bijgewerkt. Je eigen commando's voeg je toe in textbestanden onder de /etc/cron.d folder. Die worden nooit overschreven.

Ik weet niet waarom je "cron" niet gebruikt: dat is er voor de gewone gebruikers. Je maakt je eigen jobs aan zoals ik al aangaf: "crontab -e" - je moet niet gaan rondtuinen in systeemfolders. De crontabs die je met dat commando instelt, zijn crontabs die van je eigen account zijn.  Dat commando opent automatisch je eigen cron (een bestand genoemd zoals je gebruiker onder /var/spool/cron/crontabs).

Wat ik hiervoor heb aangegeven, dat een crontab enkel gestart wordt als je ingelogd bent, is niet waar. Ook die jobs lopen van zodra de computer operationeel is. Conceptueel is het dus niet juist een cronjob te gebruiken voor iets wat vereist dat je ingelogd bent. Of je moet in het script checken of je ingelogd bent vooraleer de terminal op te starten. Maar in dat laatste geval mis je misschien een week backup.

Offline Paul Matthijsse

  • Lid
  • Steunpunt: Ja
Re: Backup procedure in terminal venster valt plots weg.
« Reactie #6 Gepost op: 2020/09/22, 15:30:53 »
Terzijde, een usb-stick is volgens mij geen optimaal backup-medium. Een gewone ouderwetse harde schijf is robuuster...

Offline Kurt DM

  • Lid
Re: Backup procedure in terminal venster valt plots weg.
« Reactie #7 Gepost op: 2020/09/22, 15:36:21 »
Ik gebruik anacrontab omdat je bij crontab enkel een specifieke dag en uur kunt aangeven om een commando te starten. Stel op maandag. Wanneer je computer die maandag niet aanstaat loopt je backup niet. Met anacrontab zal je procedure dan wel starten de eerste keer dat je computer opstart na die maandag, wat handig is voor huis-tuin en keukengebruik.

Offline vanadium

  • Lid
  • Steunpunt: Nee
Re: Backup procedure in terminal venster valt plots weg.
« Reactie #8 Gepost op: 2020/09/22, 16:32:56 »
Inderdaad, dan moet je anacron gebruiken.