header image

Python: Backup | Restore des Linux 'home' Verzeichnisses

Der Schwarze Wolf hat zwei kleine Skripte geschrieben um das ‘home’ Verzeichnis in Linux zu sichern und um es wiederherzustellen. Da der komplette Inhalt des ‘home’ Verzeichnisses gelöscht wird, um das Back-up wiederherzustellen, wird es in der gui vermutlich zu Problemen kommen, sofern man dort eingeloggt ist. Getestet hat das der Schwarze Wolf allerdings nicht.

Da der Schwarze Wolf nur Debian benutzt, liegt es auf der Pfote, dass es nur dort gestestet wurde. Die Pfade sind natürlich in der ‘config’ Funktion entsprechend an die eigenen Bedürfnisse anzupassen.

Backup:


#!/usr/bin/env python

"""SchwarzerWolf.cc
date = '2018-06-08'
version = '0.1.1'

The W01f hacks in Linux for Linux. Fuck Microsoft, Apple and many more.
Fuck capitalism!

Backup -> linux home directory
Copyright (C) 2018 W0lf

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
"""


import os
import pathlib
import datetime


def config():
    """Configuration: Here all important values can be adjusted.

    :return: path, source, destination
    """

    # Determines the currently logged in user
    user = pathlib.Path.home().name

    """The code assumes that an external hard disk was previously 
    mounted under '/media/<username>/<hard_disk_name>'. This is e.g. 
    the standard in Debian Stretch. At the end is the directory that in 
    this case is called 'backup'. The syntax would be:
    '/media/<username>/<harddisk_name>/<directory>'."""
    path = '/media/{user}/secret/backup'.format(user=user)

    # Get the current date
    date = datetime.date.today().isoformat()

    # The path to the home directory of the current user
    source = str(pathlib.Path.home())

    # Merges path and date variable
    destination = os.path.join(path, date)

    return path, source, destination


def execute(path, source, destination):
    """Execute function. In this case: backup of the home directory

    :param path: from function config.
    :param source: from function config.
    :param destination: from function config.
    :return: None
    """

    """Check if the specified directory path to which the backup should 
    come is available. If True, a Linux command is executed."""
    if os.path.exists(path):
        os.system('rsync -a -v --progress {source} {destination}'.format(
            source=source,
            destination=destination
        ))


def main():
    """Main function of the script."""

    path, source, destination = config()
    execute(path, source, destination)


if __name__ == '__main__':
    main()

Restore:


#!/usr/bin/env python

"""SchwarzerWolf.cc
date = '2018-06-08'
version = '0.1.1'

The W01f hacks in Linux for Linux. Fuck Microsoft, Apple and many more.
Fuck capitalism!

Restore backup -> linux home directory
Copyright (C) 2018 W0lf

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
"""


import os
import pathlib


def config():
    """Configuration: Here all important values can be adjusted.

    :return: source, destination
    """

    # Determines the currently logged in user
    user = pathlib.Path.home().name

    """The code assumes that an external hard disk was previously 
    mounted under '/media/<username>/<hard_disk_name>'. This is e.g. 
    the standard in Debian Stretch. At the end is the directory that in 
    this case is called 'backup'. The syntax would be:
    '/media/<username>/<harddisk_name>/<directory>'."""
    path = '/media/{user}/secret/backup'.format(user=user)

    # Date of the backup to be restored
    date = '2018-06-08'

    # Merges path, date and user variable
    source = os.path.join(path, date, user)

    # The path to the home directory of the current user
    destination = str(pathlib.Path.home())

    return source, destination


def execute(source, destination):
    """Execute function. In this case: restore of the home directory.

    The restore should only be done when logged in a terminal, not in
    the gui. Since the complete contents of the home directory will be
    deleted to restore the backup, it will probably cause problems in
    the gui, provided that one is logged in there. However, the W01f
    did not test that.

    :param source: from function config.
    :param destination: from function config.
    :return: None
    """

    """Check if the specified directory path to which the backup should 
    come is available. When true, Linux commands are executed."""
    if os.path.exists(source):
        os.system('rm -rf {destination}/*'.format(destination=destination))
        os.system('rsync -a -v --progress {source}/ {destination}'.format(
            source=source,
            destination=destination
        ))


def main():
    """Main function of the script."""

    source, destination = config()
    execute(source, destination)


if __name__ == '__main__':
    main()

[2018-05-20] - Code -> Docstring verbessert

Veröffentlicht: 8. Juni 2018 16:58 von W01f

Neues Projekt: Buch des Islam

Der Schwarze Wolf hat ein neues Projekt: Buch des Islam. Es liegt auf der Pfote, dass es in der Rubrik Bücher zu finden ist.

Das Buch wird, mit Allahs Erlaubnis erweitert. Erkennbar ist das an der Versionsnummer.

Die Erweiterung erfolgt auch bei schon vorhandenen Kapiteln. Änderungen sind in der Versionshistorie am Ende des Buches zu finden. Es besteht auch kein Anspruch, dass ein Kapitel alles Islamischen Aussagen und Meinungen enthält. Das wäre oftmals unmöglich zu realisieren.

Verse des Qur’an, Überlieferungen des Propheten und Aussagen von Muslimen und muslimischen Gelehrten sind teilweise auf ihre Essenz gekürzt. Dies ist im Islam üblich. Es kann also durchaus sein, dass verschiedene Aussagen mit gleicher Quellenangabe vorkommen.

Es sind in der Regel immer Quellenangaben vorhanden. Falls keine vorhanden sind, wurden die Aussagen nur hinzugefügt, weil es mit anderen Aussagen übereinstimmt, die eine Quellenangabe haben. Trotzdem sollte man diese Aussagen immer mit Vorsicht benutzen.

Leider ist es selbst bei Überlieferungen des Propheten so, dass sich die Referenznummern teilweise Unterscheiden. Wer sich die Mühe macht, wird beim Recherchieren (z. B. auf https://sunnah.com/) auf die Überlieferung die Überlieferung finden und kann sie im kompletten Text lesen.

Bei Büchern gebe ich auch aus diesem Grund keine Seitenanzahl an. Es gibt oftmals einfach zu viele unterschiedliche Auflagen und Verläge.

Veröffentlicht: 4. Juni 2018 14:44 von W01f

Überlieferungen des Propheten: Entsagung im Diesseits - Teil 3

Der Prophet – Allah segne ihn und gebe ihm Heil sagte:

‘Das Streben nach immer mehr lenkt euch (vom Höherem) ab…’(102:1), und er sprach: ‘Der Sohn Adams spricht: Mein Besitz, mein Besitz! Was kannst du denn besitzen, oh du Sohn Adams, außer einer Mahlzeit, die verschwindet, einem Kleidungsstück, das du abtragen könntest oder der Sadaqa (Almosen), die du entrichtet hast?’ [Muslim 2958]

‘Wenn du mich wirklich liebst, dann bereite dich auf ungeheure Armut vor, denn die Armut ereilt jemanden, der mich liebt, eher als ein Fluss sein Ziel.’ [Tirmidi 2350 (Hasan)]

‘Zwei hungrige Wölfe in einer Herde Schafe können keinen größeren Schaden anrichten als den, der durch die Habsucht eines Menschen nach materiellen und immateriellen Gütern entsteht.’ [Tirmidi 2376 - Ahmad 15224, 15233 (Sahih)]

‘Die armen Menschen werden das Paradies fünfhundert Jahre früher betreten als die reichen.’ [Tirmidi 2352 - Ahmad 7605, 8165 - Ibn Maja 4122 (Hasan)]

‘Als ich ins Paradies schaute, sah ich, dass die meisten seiner Bewohner Arme waren.’ [Bukhary 3241 - Muslim 2737]

Überlieferungen des Propheten: Entsagung im Diesseits - Teil 1
Überlieferungen des Propheten: Entsagung im Diesseits - Teil 2
Überlieferungen des Propheten: Entsagung im Diesseits - Teil 4
Überlieferungen des Propheten: Entsagung im Diesseits - Teil 5


Änderungen:
[2019-02-05] - Links zu anderen Beiträgen der Serie optimiert
[2019-01-23] - Buhari in Buhary geändert

Veröffentlicht: 30. Mai 2018 12:45 von W01f

Überlieferungen des Propheten: Entsagung im Diesseits - Teil 2

Der Prophet – Allah segne ihn und gebe ihm Heil sagte:

‘Elend ist der Sklave des Geldes und des Luxus; denn er ist zufrieden wenn er immer mehr bekommt, und unzufrieden wenn er nichts bekommt.’
[Buhary 6435]

‘Entsage dem Diesseits, und Allah wird dich lieben; und entsage dem, wonach sich die Leute sehnen, und sie werden dich lieben.’
[Ibn Maja 4102 (hasan)]

‘Strebt nicht danach Grundbesitz zu erwerben oder ein Gewerbe zu betreiben, damit euer Verlangen nach dem Diesseits nicht geweckt wird.’
[Tirmidi 2328 (sahih)]

‘Jede Gemeinde (Ummah) wird geprüft werden, und die Prüfung für meine Gemeinde (Ummah) ist der Wohlstand.’
[Tirmidi 1221 (sahih)]

‘Jeder Mensch ist nur zu folgendem berechtigt: einer Wohnstätte, worin er leben kann, Kleidung, um seine Blöße zu bedecken, und einem Stück Brot und Wasser.’
[Tirmidi 2341 (sahih)]

Überlieferungen des Propheten: Entsagung im Diesseits - Teil 1
Überlieferungen des Propheten: Entsagung im Diesseits - Teil 3
Überlieferungen des Propheten: Entsagung im Diesseits - Teil 4
Überlieferungen des Propheten: Entsagung im Diesseits - Teil 5


Änderungen:
[2019-02-05] - Links zu anderen Beiträgen der Serie optimiert

Veröffentlicht: 29. Mai 2018 15:58 von W01f

Galerie Erweiterung

Es gibt wieder eine neue Erweiterung: Galerie

Es liegt auf der Pfote, dass es sich hierbei um Bilder handelt, die der Schwarze Wolf gemacht hat.


[2018-05-20] - Link änderung

Veröffentlicht: 17. Mai 2018 06:31 von W01f

« Erste Vorherige Seite 12 von 13 Nächste Letzte »