Skip to content

Collection of scripts used to maintain various Unix systems

License

Notifications You must be signed in to change notification settings

nathan-weinberg/bash-scripts

Repository files navigation

Bash Scripts

Collection of scripts used to maintain various Unix systems

Requirements

These scripts assume root access and one of the following Linux distros:

  • Debian-based
    • Debian
    • Raspberry Pi OS (formerly Raspbian)
  • Red Hat-based
    • Fedora
    • Red Hat Enterprise Linux
    • CentOS (untested)

Contents

Note

update.sh and deploy.sh require an Internet connection.

backup

backup.sh performs the following tasks:

  • Creates tar file containing a specifed user's home directory
  • Saves file to either the /home/ directory or an alternate destination if specified

Usage

backup.sh can be run from the command line as follows:

./backup.sh [user] [optional: path/to/destination]

Caution

It is recommended you use an absolute path for the destination (if you choose to specify one) to reduce the chance of error.

deploy

deploy.sh installs the following applications and does some basic SSH/Terminal configuration on Red Hat-based systems:

  • GNOME tweak tool
  • nano
  • tmux
  • npm
  • KolourPaint
  • Thunderbird
  • Quod Libet
  • Hexchat
  • flatpak
  • Slack
  • Spotify
  • Visual Studio Code
  • VLC
  • Adobe Flash

It does the following on Debian-based systems:

  • SSH configuation
  • UFW installation and configuration
  • Fail2Ban installation and configuration

Usage

deploy.sh can be run from the command line as follows:

./deploy.sh

Important

It is recommended you restart your computer after running deploy.sh - certain applications may not appear visible until doing so.

sync

sync.sh syncs the files between a source and destination such that the files in the specified destination will be the same as the files in the specified source.

Usage

sync.sh can be run from the command line as follows:

./sync.sh [path/to/source] [path/to/destination]

Tip

sync.sh is just a wrapper for rsync - I would recommend looking at the rsync man page if you wish to further customize your syncing options.

system

system.sh displays the following system data:

  • CPU Info
  • GPU Info
  • Memory Info
  • Hard Drive Info
  • Partition Info
  • OS Info
  • Linux Version Info

Usage

system.sh can be run from the command line as follows:

./system.sh

update

update.sh performs the following tasks on Debian-based systems:

  • Updates System Package List
  • Upgrades installed packages to latest versions
  • Upgrades openssh server

And does a standard dnf upgrade on Red Hat-based systems.

Usage

update.sh can be run from the command line as follows:

./update.sh [optional: -v for verbose mode]

About

Collection of scripts used to maintain various Unix systems

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages