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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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]

Notes

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

Notes

Unlike the other scripts in this repository, deploy.sh is only configured for/has only been tested on Fedora and Raspberry Pi OS (formerly Raspbian). No other Operating Systems are officially supported at this time.

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

system

system.sh displays the following system data:

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

Usage

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

./system.sh

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]

Notes

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.

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

About

Collection of scripts used to maintain various Unix systems

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages