stabbie


Namestabbie JSON
Version 1.0.3 PyPI version JSON
download
home_page
SummaryA friendly fstab auto-mount script for remote filesystems
upload_time2023-08-31 20:54:05
maintainer
docs_urlNone
author
requires_python>=3.11
licenseGPLv3
keywords fstab mounting linux network share nfs
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Stabbie 🔪
A friendly `fstab` auto-mount script for remote filesystems

## ⚠️ Disclaimer  
This is a Work-In-Progress side-project, **do not use stabbie with critical data or systems**.

<!-- Icon goes here -->

## ✨ Features
* **Discover entries** with remote filesystems from the fstab
* **Mount entries** when their file server is reachable
* **Unmount entries** when their file server is away

## ✏️ Example situation
- On your LAN, there is a NAS at `192.168.1.50`
- This NAS exposes NFS shares
- You have a personnal VPN that connects to your LAN
- Your fstab specifies mount points and options for the NFS shares
```
192.168.1.50:/share1 /mnt/share1 nfs x-stabbie,noauto,_netdev 0 0
192.168.1.50:/share2 /mnt/share2 nfs x-stabbie,noauto,_netdev 0 0
192.168.1.50:/share3 /mnt/share3 nfs x-stabbie,noauto,_netdev 0 0
```

You want to try to mount the shares only when the server is reachable.  
So, when you're home or when you connect to the VPN.

You just have to run `stabbie` when the network status changes to automatically mount or unmount the shares depending on the situation.

## 🔧 Installation and Usage

### Prerequisites
* Linux environment
* fstab at `/etc/fstab`
* Python 3.11 or newer

### `fstab` structure
Stabbie only mounts and unmounts fstab entries:
* Marked with the option `x-stabbie`
* Of the [supported filesystem types](#-supported-filesystem-types)

### Installation

Install using pip, from pypi
```
pip install stabbie
```

Install from source, if for some reason you can't use another method
```
pip install git+https://github.com/GeoffreyCoulaud/stabbie.git
```

### Usage

`stabbie` needs root privileges to mount and unmount.

Basic usage:
```
stabbie
```

You can get an up to date list of arguments from the integrated help:
```
stabbie --help
```


## 📁 Supported filesystem types

* NFS

Feel free to open an issue or a pull request to add support for more filesystems

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "stabbie",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": "",
    "keywords": "fstab,mounting,linux,network share,nfs",
    "author": "",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/47/25/65d2f7ab7050afa8828d0316a8761ef8894acb85c27dfb252ec9b391219c/stabbie-1.0.3.tar.gz",
    "platform": null,
    "description": "# Stabbie \ud83d\udd2a\nA friendly `fstab` auto-mount script for remote filesystems\n\n## \u26a0\ufe0f Disclaimer  \nThis is a Work-In-Progress side-project, **do not use stabbie with critical data or systems**.\n\n<!-- Icon goes here -->\n\n## \u2728 Features\n* **Discover entries** with remote filesystems from the fstab\n* **Mount entries** when their file server is reachable\n* **Unmount entries** when their file server is away\n\n## \u270f\ufe0f Example situation\n- On your LAN, there is a NAS at `192.168.1.50`\n- This NAS exposes NFS shares\n- You have a personnal VPN that connects to your LAN\n- Your fstab specifies mount points and options for the NFS shares\n```\n192.168.1.50:/share1 /mnt/share1 nfs x-stabbie,noauto,_netdev 0 0\n192.168.1.50:/share2 /mnt/share2 nfs x-stabbie,noauto,_netdev 0 0\n192.168.1.50:/share3 /mnt/share3 nfs x-stabbie,noauto,_netdev 0 0\n```\n\nYou want to try to mount the shares only when the server is reachable.  \nSo, when you're home or when you connect to the VPN.\n\nYou just have to run `stabbie` when the network status changes to automatically mount or unmount the shares depending on the situation.\n\n## \ud83d\udd27 Installation and Usage\n\n### Prerequisites\n* Linux environment\n* fstab at `/etc/fstab`\n* Python 3.11 or newer\n\n### `fstab` structure\nStabbie only mounts and unmounts fstab entries:\n* Marked with the option `x-stabbie`\n* Of the [supported filesystem types](#-supported-filesystem-types)\n\n### Installation\n\nInstall using pip, from pypi\n```\npip install stabbie\n```\n\nInstall from source, if for some reason you can't use another method\n```\npip install git+https://github.com/GeoffreyCoulaud/stabbie.git\n```\n\n### Usage\n\n`stabbie` needs root privileges to mount and unmount.\n\nBasic usage:\n```\nstabbie\n```\n\nYou can get an up to date list of arguments from the integrated help:\n```\nstabbie --help\n```\n\n\n## \ud83d\udcc1 Supported filesystem types\n\n* NFS\n\nFeel free to open an issue or a pull request to add support for more filesystems\n",
    "bugtrack_url": null,
    "license": "GPLv3",
    "summary": "A friendly fstab auto-mount script for remote filesystems",
    "version": "1.0.3",
    "project_urls": {
        "Homepage": "https://github.com/GeoffreyCoulaud/stabbie",
        "Repository": "https://github.com/GeoffreyCoulaud/stabbie.git"
    },
    "split_keywords": [
        "fstab",
        "mounting",
        "linux",
        "network share",
        "nfs"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "19a295da50fd87124b3ff094d506309cebf377a40f2114308dcd712b6bbf1756",
                "md5": "11b4b415e685b5d6704cfd5b64149710",
                "sha256": "c8606349dfd34e18a17f109bd8c031283b65a42b3b8f057fdee44eba77f2ccfc"
            },
            "downloads": -1,
            "filename": "stabbie-1.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "11b4b415e685b5d6704cfd5b64149710",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 22035,
            "upload_time": "2023-08-31T20:54:04",
            "upload_time_iso_8601": "2023-08-31T20:54:04.412261Z",
            "url": "https://files.pythonhosted.org/packages/19/a2/95da50fd87124b3ff094d506309cebf377a40f2114308dcd712b6bbf1756/stabbie-1.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "472565d2f7ab7050afa8828d0316a8761ef8894acb85c27dfb252ec9b391219c",
                "md5": "a2909d1329d9a1f57f8463e4e050f166",
                "sha256": "bd9abdde9f5002b7553f7920601e76d72fb7b5537c975b5c5148b626519cecdb"
            },
            "downloads": -1,
            "filename": "stabbie-1.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "a2909d1329d9a1f57f8463e4e050f166",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 20243,
            "upload_time": "2023-08-31T20:54:05",
            "upload_time_iso_8601": "2023-08-31T20:54:05.991877Z",
            "url": "https://files.pythonhosted.org/packages/47/25/65d2f7ab7050afa8828d0316a8761ef8894acb85c27dfb252ec9b391219c/stabbie-1.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-31 20:54:05",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "GeoffreyCoulaud",
    "github_project": "stabbie",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "stabbie"
}
        
Elapsed time: 0.15238s