Collection of scripts used to maintain various Unix systems
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)
Note
update.sh
and deploy.sh
require an Internet connection.
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
backup.sh
can be run from the command line as follows:
./backup.sh [user] [optional: path/to/destination]
It is recommended you use an absolute path for the destination (if you choose to specify one) to reduce the chance of error.
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
deploy.sh
can be run from the command line as follows:
./deploy.sh
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.sh
displays the following system data:
- CPU Info
- Memory Info
- Hard Drive Info
- Partition Info
- Linux Version Info
system.sh
can be run from the command line as follows:
./system.sh
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.
sync.sh
can be run from the command line as follows:
./sync.sh [path/to/source] [path/to/destination]
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.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.
update.sh can be run from the command line as follows:
./update.sh