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 b4f129d8a8 updated README.md 5 years ago
.bash.d updated k8s.sh 5 years ago
kafka_wrappers updated kafka.sh source path 5 years ago
lib updated utils.sh 5 years ago
setup Update rpm-packages.txt 5 years ago
.bashrc updated .bashrc 5 years ago
.travis.yml updated .travis.yml 5 years ago
LICENSE updated LICENSE 8 years ago
Makefile updated Makefile 6 years ago
Makefile.in set system packages to not install when not in virtual env or perlbrew, do not use sudo it could be reset to blank if root and outside virtual env or perlbrew 6 years ago
README.md updated README.md 5 years ago
all.sh updated all.sh 5 years ago
apk-install-packages.sh replaced egrep with more standard grep -E, and other shellcheck tweaks 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 replaced egrep with more standard grep -E, and other shellcheck tweaks 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 replaced egrep with more standard grep -E, and other shellcheck tweaks 5 years ago
center.sh replaced egrep with more standard grep -E, and other shellcheck tweaks 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
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
install_epel_repo.sh updated install_epel_repo.sh 5 years ago
install_gradle.sh updated install_gradle.sh 5 years ago
install_groovy.sh replaced let with ((expr)) 5 years ago
install_maven.sh updated install_maven.sh 5 years ago
install_sbt.sh updated install_sbt.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
repolist.txt updated repolist.txt 6 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
tabs_ignore.txt updated tabs_ignore.txt 6 years ago
update_my_repos.sh updated update_my_repos.sh 5 years ago
whitespace_ignore.txt updated whitespace_ignore.txt 6 years ago
yum-install-packages.sh updated yum-install-packages.sh 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

Shell Scripts & 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 - tonnes of functions and aliases for Linux, Docker, Kubernetes, Kafka, automatic GPG and SSH agent handling etc.

  • lib - Bash utility libraries full of functions for Docker, environment, CI detection, port and HTTP url availability content checks etc.

  • kafka_wrappers - scripts to make kafka cli usage easier (for Solr CLI usage see solr-cli.pl in DevOps Perl Tools)

  • Programming language linting:

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

    • Make
    • Maven
    • SBT
    • Gradle
    • Travis CI
  • 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, Debian and Ubuntu versions of this uber Docker image containing all repos.