1000+ DevOps Bash Scripts - AWS, GCP, Kubernetes, Docker, CI/CD, APIs, SQL, PostgreSQL, MySQL, Hive, Impala, Kafka, Hadoop, Jenkins, GitHub, GitLab, BitBucket, Azure DevOps, TeamCity, Spotify, MP3, LDAP, Code/Build Linting, pkg mgmt for Linux, Mac, Python, Perl, Ruby, NodeJS, Golang, Advanced dotfiles: .bashrc, .vimrc, .gitconfig, .screenrc, tmux..
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Hari Sekhon aa1f9085f3 tweaked description 5 years ago
.bash.d updated git.sh 5 years ago
kafka_wrappers updated kafka_consumer_groups.sh 5 years ago
lib updated utils.sh 5 years ago
setup moved install_sbt.sh to setup/install_sbt.sh 5 years ago
.ansible.cfg updated .ansible.cfg 5 years ago
.bashrc updated .bashrc 5 years ago
.tmux.conf added .tmux.conf 5 years ago
.travis.yml updated .travis.yml 5 years ago
LICENSE updated LICENSE 8 years ago
Makefile silenced missing .bashrc for install 5 years ago
Makefile.in updated Makefile.in 5 years ago
README.md updated README.md 5 years ago
all.sh updated all.sh 5 years ago
apk-install-packages.sh tweaked description 5 years ago
apk-remove-packages.sh replaced egrep with more standard grep -E, and other shellcheck tweaks 5 years ago
apt-install-packages.sh tweaked description 5 years ago
apt-remove-packages.sh replaced egrep with more standard grep -E, and other shellcheck tweaks 5 years ago
brew-install-packages.sh updated brew-install-packages.sh 5 years ago
center.sh updated center.sh 5 years ago
check_bash_arrays.sh updated check_bash_arrays.sh 5 years ago
check_bash_duplicate_defs.sh updated check_bash_duplicate_defs.sh 5 years ago
check_docker_clean.sh updated check_docker_clean.sh 5 years ago
check_duplicate_requirements.sh updated check_duplicate_requirements.sh 5 years ago
check_gradle_build.sh updated check_gradle_build.sh 5 years ago
check_makefile.sh updated check_makefile.sh 5 years ago
check_maven_pom.sh updated check_maven_pom.sh 5 years ago
check_no_tabs.sh updated check_no_tabs.sh 5 years ago
check_non_executable_scripts.sh updated check_non_executable_scripts.sh 5 years ago
check_perl_syntax.sh updated check_perl_syntax.sh 5 years ago
check_python3_compat.sh renamed python3.sh -> check_python3_compat.sh 7 years ago
check_python_asserts.sh updated check_python_asserts.sh 5 years ago
check_python_exception_pass.sh updated check_python_exception_pass.sh 5 years ago
check_python_find_quit.sh updated check_python_find_quit.sh 5 years ago
check_python_pep8.sh updated check_python_pep8.sh 5 years ago
check_python_pylint.sh updated check_python_pylint.sh 5 years ago
check_pytools.sh updated check_pytools.sh 5 years ago
check_ruby_syntax.sh updated check_ruby_syntax.sh 5 years ago
check_sbt_build.sh updated check_sbt_build.sh 5 years ago
check_shell_syntax.sh updated check_shell_syntax.sh 5 years ago
check_ssh_keys_encrypted.sh updated check_ssh_keys_encrypted.sh 5 years ago
check_tests_run_qualified.sh updated check_tests_run_qualified.sh 5 years ago
check_tld_chars.sh updated check_tld_chars.sh 5 years ago
check_travis_yml.sh updated check_travis_yml.sh 5 years ago
check_whitespace.sh updated check_whitespace.sh 5 years ago
clean_my_repos.sh updated clean_my_repos.sh 5 years ago
curl_auth.sh updated curl_auth.sh 5 years ago
curl_k8s.sh updated curl_k8s.sh 5 years ago
docker_clean.sh added docker_clean.sh 6 years ago
docker_mount_build_exec.sh updated docker_mount_build_exec.sh 5 years ago
exec-interactive.sh replaced egrep with more standard grep -E, and other shellcheck tweaks 5 years ago
find_duplicate_cpan_requirements.sh updated find_duplicate_cpan_requirements.sh 5 years ago
find_duplicate_lines.sh updated find_duplicate_lines.sh 5 years ago
find_duplicate_pip_requirements.sh updated find_duplicate_pip_requirements.sh 5 years ago
find_hanging_mount_point.sh updated find_hanging_mount_point.sh 5 years ago
find_unused_cpan_modules.sh updated find_unused_cpan_modules.sh 5 years ago
find_unused_pip_modules.sh updated find_unused_pip_modules.sh 5 years ago
git_for_each_branch.sh updated git_for_each_branch.sh 5 years ago
git_merge_all.sh updated git_merge_all.sh 5 years ago
git_merge_master.sh updated git_merge_master.sh 5 years ago
git_merge_master_pull.sh updated git_merge_master_pull.sh 5 years ago
git_pull_make_repos.sh updated git_pull_make_repos.sh 5 years ago
ldap_group_recurse.sh updated ldap_group_recurse.sh 5 years ago
ldap_user_recurse.sh updated ldap_user_recurse.sh 5 years ago
ldapsearch.sh updated ldapsearch.sh 5 years ago
perl_cpanm_install_if_absent.sh updated perl_cpanm_install_if_absent.sh 5 years ago
python_compile.sh updated python_compile.sh 5 years ago
python_module_to_import_name.sh updated python_module_to_import_name.sh 5 years ago
python_pip_install_if_absent.sh updated python_pip_install_if_absent.sh 5 years ago
random_select.sh updated random_select.sh 5 years ago
run_latest_tests.sh added run_latest_tests.sh 7 years ago
run_tests.sh updated run_tests.sh 5 years ago
scan_duplicate_macs.sh updated scan_duplicate_macs.sh 5 years ago
split.sh updated split.sh 5 years ago
ssl_get_cert.sh updated ssl_get_cert.sh 5 years ago
update_my_repos.sh updated update_my_repos.sh 5 years ago
vault_pass.sh updated vault_pass.sh 5 years ago
yum-install-packages.sh tweaked description 5 years ago
yum-remove-packages.sh updated yum-remove-packages.sh 5 years ago

README.md

Hari Sekhon - DevOps Bash Tools

Build Status Codacy Badge Platform DockerHub

70+ Shell Scripts, Advanced Bashrc & Utility Code Library used by all my other GitHub repos.

For more advanced Systems Administration scripts in other languages, see the repos listed at the bottom of the page.

  • Scripts - Linux systems administration scripts

    • installation scripts for various OS packages (RPM, Deb, Apk) for various Linux distros (Redhat RHEL / CentOS / Fedora, Debian / Ubuntu, Alpine)
    • install if absent scripts for Python and Perl modules - good for combining with first attempt to install via system packages, and then these will pull from PyPI or CPAN only those modules which aren't installed. This speeds up builds and uses the standard packaged modules where possible. This is also more reliable than getting random compile errors from CPAN as libraries update and introduce bugs or needing to install too many dev libraries
    • install scripts for Jython and build tools like Gradle and SBT for when Linux distros don't provide packaged versions or where the packaged versions are too old
    • Git branch management
    • utility scripts used from other scripts
  • .bashrc - shell tuning and sourcing of .bash.d/*.sh

  • .bash.d/*.sh - thousands of lines of advanced bashrc code, aliases, functions and environment variables for:

  • lib/*.sh - Bash utility libraries full of functions for Docker, environment, CI detection (Travis CI, Jenkins), port and HTTP url availability content checks etc.

  • kafka_wrappers/*.sh - scripts to make Kafka cli usage easier including auto-setting Kerberos to source TGT from environment and auto-populating broker and zookeeper addresses. These are auto-added to the $PATH when .bashrc is sourced. For something similar for Solr, see solr_cli.pl in DevOps Perl Tools

  • Programming language linting:

    • Python (syntax, pep8, pre-byte-compiling)
    • Perl
    • Java
    • Scala
    • Ruby
    • Bash / Shell
    • Misc (whitespace, custom enforced checks like not calling quit() in python etc)
  • Build System and CI linting:

  • Data format validation using programs from my DevOps Python Tools repo:

    • CSV
    • JSON
    • Avro
    • Parquet
    • INI / Properties files (Java)
    • LDAP LDIF
    • XML
    • YAML

Currently utilized in the following GitHub repos:

Pre-built Docker images are available for those repos (which include this one as a submodule) and the "docker available" icon above links to an uber image which contains all my github repos pre-built. There are Centos, Alpine, Debian and Ubuntu versions of this uber Docker image containing all repos.