Coder Social home page Coder Social logo

bradleya / linux-admin Goto Github PK

View Code? Open in Web Editor NEW
29.0 2.0 6.0 19.26 MB

Shell scripts to automate download of GitHub traffic statistics, cluster administration, and create an animated GIF.

License: MIT License

Shell 100.00%
cluster-manager animated-gif github-traffic github-statistics raspberry-pi-clusters administration admin-tool linux-shell linux-admin clustering

linux-admin's Introduction

Linux-admin

GitHub Stable Release GitHub Release Date GitHub Commits Since GitHub Last Commits

Open GitHub Issue GitHub Open Issues GitHub Closed Issues GitHub pull requests GitHub pull requests

GitHub Repo Clones GitHub Repo Views GitHub Size Language Bash MIT License


Shell scripts to automate download of GitHub traffic statistics, cluster administration script, create an animated command line GIF, other GitHub Solutions, Presentation Solutions.

If you like this repository, select in the upper-right corner, GitHub stars, thank you.


GitHub Solutions

A very simple shell script that uses crontab to schedule the download of GitHub traffic statistics in plain text from your GitHub repositories. Another script gives you the text lines to add to crontab and sets up the directories for GitHub traffic statistics. It takes minutes to setup but weeks to get enough data before using a third script that parses the GitHub traffic and creates two markdown tables like these; clones and views

How to make an animated GIF of a terminal session.

How to create a website for with GitHub Pages. Link: Towards Data Science: Anne Bonner

Connect GitHub and Slack

Cluster command wrapper

The cluster-command loops through my RaspBerry Pi clusters and x86 clusters. It helps with cluster system adminstration of hosts with a set of predefined commands and allows custom commands.

Presentation Solutions

Presentation Demos: Shell script (Demo Magic) from Paxton Hare GitHub account that enables you to script repeatable demos in a bash environment so you don't have to type as you present. Rather than trying to type commands when presenting you simply script them and let demo-magic.sh run them for you.

Presentation Countdown Timer*: Large web based countdown time display to keep speakers on schedule. By default, it counts down from five minutes to zero minutes, updating every ten seconds. When one minute remains, the background turns yellow and the timer is updated every five seconds. At 30 seconds remaining, the background turns red and updates are continuous. Finally, when time runs out, the counter starts blinking.

Clone

To Install, change into a directory that you want to download the scripts. Use git to pull or clone these scripts into the directory. If you do not have Git installed then enter; "sudo apt-get install git" if using Debian/Ubuntu. Other Linux distribution install methods can be found here: https://git-scm.com/download/linux. On the GitHub page of this script use the "HTTPS clone URL" with the 'git clone' command.

 git clone https://github.com/BradleyA/Linux-admin
 cd Linux-admin

Return to top


Contribute

Please do contribute! Issues, comments, and pull requests are welcome. Thank you for your help improving software.

Return to top

Author

Follow @bradleyaustintx GitHub followers

Return to top

Stars

Stargazers repo roster for @BradleyA/Linux-admin

Return to top

Forks

Forkers repo roster for @BradleyA/Linux-admin

Return to top

Tested OS

  • Ubuntu 14.04.6 LTS (amd64,armv7l)
  • Ubuntu 16.04.7 LTS (amd64,armv7l)
  • Ubuntu 18.04.5 LTS (amd64,armv7l)
  • Raspbian GNU/Linux 10 (buster)

Return to top

Design Principles

  • Have a simple setup process and a minimal learning curve
  • Be usable as non-root - failed adminstration requires root
  • Be easy to install and configure

Return to top

License

MIT License

Copyright (c) 2020 Bradley Allen

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Return to top

linux-admin's People

Contributors

bradleya avatar cptx86 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

linux-admin's Issues

cluster-command.sh correct incident of not creating directory if missing

2018-12-08T10:02:22.297989-06:00 (CST) six-rpi3b.cptx86.com ./cluster-command.sh[7884] 2.15.125 131 uadmin 10000:10000 [DEBUG] Name_of_command >./cluster-command.sh< Name_of_arg1 >ls< Name_of_arg2 >< Name_of_arg3 >< Version of bash 4.3.48(1)-release
2018-12-08T10:02:22.306954-06:00 (CST) six-rpi3b.cptx86.com ./cluster-command.sh[7884] 2.15.125 144 uadmin 10000:10000 [DEBUG] CLUSTER >us-west1< DATA_DIR >/tmp< SYSTEMS_FILE NEW_SYSTEM-2 REMOTECOMMAND >ls<
2018-12-08T10:02:22.316357-06:00 (CST) six-rpi3b.cptx86.com ./cluster-command.sh[7884] 2.15.125 148 uadmin 10000:10000 [WARN] NEW_SYSTEM-2 file missing or empty, creating NEW_SYSTEM-2 file with local host. Edit /tmp/us-west1/NEW_SYSTEM-2 file and add additional hosts that are in the cluster.
./cluster-command.sh: line 149: /tmp/us-west1/NEW_SYSTEM-2: No such file or directory
./cluster-command.sh: line 150: /tmp/us-west1/NEW_SYSTEM-2: No such file or directory
./cluster-command.sh: line 151: /tmp/us-west1/NEW_SYSTEM-2: No such file or directory
./cluster-command.sh: line 152: /tmp/us-west1/NEW_SYSTEM-2: No such file or directory
grep: /tmp/us-west1/NEW_SYSTEM-2: No such file or directory

Design and develop a couple of shell scripts for GitHub repository traffic history more than 14 days in README.md

Present GitHub repository traffic history more than 14 days in README

Unable to locate available solution that did NOT require logging into a web site with my GitHub account for a service or installing more tools or sharing my GitHub token with people I do not know or a service that limit number of repositories.

Design and develop a couple of shell scripts to do the following:

  • download views, clones, popular/referrers, and popular/paths weekly
  • parse data to create clone table and view table

Solution: github-repository-traffic

github-repository-traffic/parse.repository.data.sh - parse RAW data to create .md table files

github-repository/parse.repository.data.sh - parse RAW data to create .png files

How to create .png files from raw text data with labels ?

https://mathematica.stackexchange.com/questions/17826/how-to-automate-generation-of-image-files

7
Let's suppose that these are your imported data (three sets of random numbers):

importedData = Table[RandomReal[{0, 1}, {10, 2}], {3}];

Now we can directly produce and export the PNG files:

Table[
  Export[
    "plot_" <> ToString[i] <> ".png",
    ListPlot[importedData[[i]]],
    "PNG"
  ],
  {i, Length[importedData]}
]

    {"plot_1.png", "plot_2.png", "plot_3.png"}

"plot_" <> ToString[i] <> ".png" can be replaced by StringTemplate["plot_``.png"]  @i
shareimprove this answer
edited Aug 7 '18 at 12:34
Kuba♦
110k1212 gold badges220220 silver badges560560 bronze badges
answered Jan 15 '13 at 15:52
VLC
8,75011 gold badge2323 silver badges5454 bronze badges

    3
    IntegerString is useful because it makes it easy to specify the total number of digits and will insert the necessary number of leading zeros. For example, IntegerString[4, 10, 3] --> "004" – Szabolcs Jun 16 '14 at 21:24

24

To export a sequence of plots, you don't need to do the sequential numbering by hand (or by using ToString). Instead, there is the Export option "VideoFrames" that does the numbering automatically:

plots =
  Table[Plot[Sin[x + a], {x, 0, Pi},
    PlotRange -> {{0, Pi}, {-1.1, 1.1}}], {a, 0, Pi, .1}];

Quiet[CreateDirectory["output"]];
SetDirectory["output"];

Export["plot001.png", plots, "VideoFrames"];

FileNames[]

(*
==> {"plot001.png", "plot002.png", "plot003.png", "plot004.png", \
"plot005.png", "plot006.png", "plot007.png", "plot008.png", \
"plot009.png", "plot010.png", "plot011.png", "plot012.png", \
"plot013.png", "plot014.png", "plot015.png", "plot016.png", \
"plot017.png", "plot018.png", "plot019.png", "plot020.png", \
"plot021.png", "plot022.png", "plot023.png", "plot024.png", \
"plot025.png", "plot026.png", "plot027.png", "plot028.png", \
"plot029.png", "plot030.png", "plot031.png", "plot032.png"}
*)

ResetDirectory[];

The number of digits in the numbered output files is determined from the number you specify in the first file name.

github-repository-traffic/parse.repository.data.sh 2.118.524 - Complete display_help ENVIRONMENT VARIABLES

Describe the incident:
A clear and concise description of what the incident is.

-> Complete display_help ENVIRONMENT VARIABLES

Actual results:

-> # >>>   Remove when complete
echo    ">>> NEED TO COMPLETE THIS SOON, ONCE I KNOW HOW IT IS GOING TO WORK :-) <<<    |"

echo    "   CLONE_FILE_NAME Cron job data file"
echo    "                   (default ${DEFAULT_DATA_GITHUB_DIR}<GITHUB_OWNER>/<REPOSITORY>/<GITHUB_OWNER>.<REPOSITORY>.<date>)"
echo    "   GITHUB_REPOSITORY_TRAFFIC_DATA"
echo    "                   X"
# >>>   Remove when complete

Version:

  • OS (lsb_release -a): Ubuntu 16.04.6
  • Command: github-repository-traffic/parse.repository.data.sh 2.118.524

Feature Request --> countdown() - timed countdown to be used during a conference on a laptop running Linux

Tell us about your feature request:
A clear and concise description of what you want to happen or the change you would like to see. Use a use case to describe how a person would actually use your request to accomplish a goal. Thank you.

-> timed countdown to be used during a conference on a laptop running Linux

Describe how your feature request could work:
Steps to demonstrate your feature request.

  1. Go to ->

  2. Enter on ->
    countdown()
    (
    IFS=:
    set -- $*
    secs=$(( ${1#0} * 3600 + ${2#0} * 60 + ${3#0} ))
    while [ $secs -gt 0 ]
    do
    sleep 1 &
    printf "\r%02d:%02d:%02d" $((secs/3600)) $(( (secs/60)%60)) $((secs%60))
    secs=$(( $secs - 1 ))
    wait
    done
    echo
    )

  3. Enter ->
    countdown "00:07:55"

How are you currently working without your feature request?
A description of any alternative solutions or features you've considered or are using today.

-> someone sitting on the front row prompting the speaker how much time is available

Version:

  • OS ( lsb_release -a ; Ubuntu 14.04 Ubuntu 16.04 Ubuntu 20.04 )

    -> 
    
  • Command: ( github-repository/setup.github.repository.sh 2.199.861 )

    -> 
    

cluster-shutdown.sh change scope to support several cluster commands

Another idea would be to have a script;
maybe use a case statement for each command and include --help to support usage

reboot
apt-get update
apt-get upgrade
apt-mark showhold
XOS host OS: Ubuntu_14.04.5_LTS / Ubuntu_16.04.3_LTS
--lsb_release -d | awk '{ print $2"_"$3"_"$4 }'
XRELEASE docker release #: 17.12.0-ce / 18.01.0-ce / 17.03.0-ce
--docker version | grep -m 1 Version: | awk '{ print $2 }'
Processor information
--lshw | grep "^${XHOST}" -A2 | grep product | head -1 | sed -e 's/ /_/g' | sed -e 's/__*/_/g' | sed -e 's/^_product:_//'
Chip Architecture
--lscpu | grep "Architecture" | awk '{ print $2 }'
Number of CPU's
--lscpu | grep "^CPU(s):" | awk '{ print $2 }'

if [ -f /var/run/reboot-required ]; then # see appendix A in book page 435
echo 'reboot required'
fi
/usr/lib/update-notifier/apt-check --human-readable

/usr/lib/update-notifier/apt-check
is actually equivalent to stats returned by
apt-get -s dist-upgrade | grep "^[[:digit:]]+ upgraded"
and not
apt-get upgrade|grep "^[[:digit:]]+ upgraded"
For Example
/usr/lib/update-notifier/apt-check --human-readable
returns
22 packages can be updated.
0 updates are security updates.
whereas
apt-get -s dist-upgrade | grep "^[[:digit:]]+ upgraded"
returns
18 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
It actually 18+4 which amounts to 22.
From apt-get manual:
upgrade upgrade is used to install the newest versions of all packages currently installed on the system from the sources enumerated in /etc/apt/sources.list. Packages currently installed with new versions available are retrieved and upgraded; under no circumstances are currently installed packages removed, or packages not already installed retrieved and installed. New versions of currently installed packages that cannot be upgraded without changing the install status of another package will be left at their current version. An update must be performed first so that apt-get knows that new versions of packages are available.
dist-upgrade dist-upgrade in addition to performing the function of upgrade, also intelligently handles changing dependencies with new versions of packages; apt-get has a "smart" conflict resolution system, and it will attempt to upgrade the most important packages at the expense of less important ones if necessary. So, dist-upgrade command may remove some packages. The /etc/apt/sources.list file contains a list of locations from which to retrieve desired package files. See also apt_preferences(5) for a mechanism for overriding the general settings for individual packages.

cluster-command.sh --> production standard 5 include Copyright notice

production standard 5 include Copyright notice

This Copyright notice allows others to know I wrote this code. This code is not copied from a company's internal tools or trade secrets nor was it developed while for hire at a company.

MIT License

Copyright (c) 2019 Bradley Allen

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

github-repository-traffic/setup.github.repository.sh - Automate pushing into crontab file during setup so user does not have to hand edit

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

->Automate the crontab during setup so user does not have to hand edit

Describe the solution you'd like

  • Steps to describe solution:

    1. Go to ->cd /usr/local/data/github
    2. Enter/Click on ->
    3. Select/Scroll-Down to ->
  • A clear and concise description of what you want to happen.

    ->crontab includes GitHub download of traffic

github-repository-traffic/parse.repository.data.sh - repositories with '.' in name fail

Describe the incident:
github-repository-traffic/parse.repository.data.sh - repositories with '.' in name fail

To reproduce the incident:
Steps to reproduce the behavior:

->  run parse.repository.data.sh script on a repository with a '.' as a character in the repository name (Start-registry-v2-script.1.0). 
->  The script truncates the repository name from the '.' on, which causes the following 'cd' command to fail. **No such file or directory** 

Actual results:

->  REPOSITORY >Start-registry-v2-script<

Expected results:
A clear and concise description of what you expected to happen.

-> REPOSITORY >Start-registry-v2-script.1.0<

Version:

  • OS Ubuntu 16.04.6
  • Command: github-repository/parse.repository.data.sh

github-repository-traffic/parse.repository.data.sh - check if filename not found; ERROR; exit 1; exit 1

Describe the incident:
test for wrong filename; if not found; ERROR; exit 1
GITHUB_REPOSITORY_TRAFFIC_DATA FILE exists and read permission && exists and has a size greater than zero

To reproduce the incident:
Steps to reproduce the behavior:

  1. Go to '/usr/local/data/github/BradleyA/dmonitor'
  2. $ /tmp/parse.repository.data.sh BradleyA.dmonitor.2020-02
    

Actual results:

$ /tmp/parse.repository.data.sh BradleyA.dmonitor.2020-02
grep: BradleyA.dmonitor.2020-02: No such file or directory

Expected results:
blank

Version:

  • OS: Ubuntu 16.04.6
  • Command: github-repository-traffic/parse.repository.data.sh 2.114.497

github-repository-traffic/parse.repository.data.sh 2.118.524 - clone.data.* files exists and size greater than zero

Describe:
A clear and concise description

->
# >>>   Do clone.data.* files exists and size greater than zero
# >>>   need to test this create an empty file in a repository that has many data file ????

Expected results:
A clear and concise description of what you expected to happen.

-> if [[

Version:

  • OS: (lsb_release -a): Ubuntu 16.04.6
  • Command: github-repository-traffic/parse.repository.data.sh 2.118.524

cluster-command - incident with arg code

Need to retest the args because it is clear that it does not work correctly

 echo -e "\nUSAGE\n   ${0} [<PREDEFINED-COMMAND>] [<CLUSTER>] [<DATA_DIR>] [SYSTEMS_FILE]"
. . . . 
if [ "$1" == "special" ] || [ "$1" == "root-special" ] ; then
    REMOTECOMMANDOPTION=${2}
    if [ "${DEBUG}" == "1" ] ; then get_date_stamp ; echo -e "${NORMAL}${DATE_STAMP} ${LOCALHOST} ${0}[$$] ${SCRIPT_VERSION} ${LINENO} ${USER} ${USER_ID}:${GROUP_ID} ${BOLD}[DEBUG]${NORMAL}  REMOTECOMMAND >${REMOTECOMMAND}<  REMOTECOMMANDOPTION >${REMOTECOMMANDOPTION}<" 1>&2 ; fi
    #       Set default
    CLUSTER="us-tx-cluster-1/"
    DATA_DIR="/usr/local/data/"
    SYSTEMS_FILE="SYSTEMS"
else
    #       Environment variable to set option for some remote commands 
    #       Order of precedence: CLI argument, environment variable, default code
    if [ $# -ge  2 ]  ; then CLUSTER=${2} ; elif [ "${CLUSTER}" == "" ] ; then CLUSTER="us-tx-cluster-1/" ; fi
    #       Order of precedence: CLI argument, environment variable, default code
    if [ $# -ge  3 ]  ; then DATA_DIR=${1} ; elif [ "${DATA_DIR}" == "" ] ; then DATA_DIR="/usr/local/data/" ; fi
    #       order of precedence: CLI argument, environment variable, default code
    if [ $# -ge  4 ]  ; then SYSTEMS_FILE=${5} ; elif [ "${SYSTEMS_FILE}" == "" ] ; then SYSTEMS_FILE="SYSTEMS" ; fi
fi

github-repository-traffic/parse.repository.data.sh 2.118.524 - complete display_help SEE ALSO

Describe the incident:
A clear and concise description of what the incident is.

->  complete display_help SEE ALSO

Actual results:

-># >>>   Remove when complete
echo    ">>> NEED TO COMPLETE THIS SOON, ONCE I KNOW HOW IT IS GOING TO WORK :-) <<<    |"
echo    "   ${BOLD}owner.repository${NORMAL} (URL)"
echo    "   ${BOLD}<command>${NORMAL} (URL)"
# >>>   Remove when complete

Version:

  • OS (lsb_release -a): Ubuntu 16.04.6
  • Command: [ github-repository/setup.github.repository.sh 2.199.861 ]

github-repository-traffic/parse.repository.data.sh - random incident with totals and missing columns in table

This section has an incident that has popped up a couple of times in the last 7 months that is difficult to debug

  1. this is a difficult one; if you run the parser in non-date order sometimes times the totals get added wrong or a clone.data. file is not included when building the markdown table
  • which does not make since because all files are added to totals and to rebuild the clone.table.md and view.table.md
  • this might be do to late night testing that I can not reproduce

Comment - Ubuntu 16.04-18.04 - disable snap and other upgrade software

Tell us about your incident:
A clear and concise description, 'what is your incident?'

->  https://askubuntu.com/questions/1057458/how-to-remove-ubuntus-automatic-internet-connection-needs

To avoid random reboots for kernal updates is effecting DNS, routing, SLA agreement

Expected results:
A clear and concise description of what results you expected.

-> 

Popularity contest is disabled by default. You can check and disable it with:

sudo dpkg-reconfigure popularity-contest

You can do ...

sudo apt remove popularity-contest

to remove it too.

Disable apt-daily.service:

sudo systemctl stop apt-daily.timer
sudo systemctl disable apt-daily.timer
sudo systemctl disable apt-daily.service
sudo systemctl stop apt-daily-upgrade.timer
sudo systemctl disable apt-daily-upgrade.timer
sudo systemctl disable apt-daily-upgrade.service

One-liner from @muru <3:

sudo systemctl disable --now apt-daily{,-upgrade}.{timer,service}

Disable unattended upgrade:

sudo dpkg-reconfigure -plow unattended-upgrades

Update manager can only be stopped by removing it:

sudo apt purge update-manager-core

You can NOT disable automatic update for snaps. You can set the period when it updates with snap set core refresh.schedule= but the system will ignore this is if it took too long to update snaps and that would be within 24 hours. This will remove anything snap related:

sudo apt purge snapd ubuntu-core-launcher squashfs-tools

A less intrusive method would be to prevent connection to the server by adding a DENY to your firewall rules (or in the router). To disable the systemd service would be ...

sudo systemctl disable snapd.refresh.service

but that too seems to ignore the 24 hour period.

Regarding snaps:

The agreed semantics to be implemented are the following:

  • Refreshes may be scheduled at an arbitrary weekday and time within the month (e.g. second Tuesday between 1pm and 2pm).
  • Refreshes may be deferred for up to another month so that missed windows and re-scheduling may happen without strange side effects. For example, if it was scheduled for the first day, and then gets scheduled for the end of the month just before it happens, there may effectively be a two months window without refreshes.
  • If the system remains out-of-date after the two months window, the system will start attempting to refresh out of the window.
  • That maximum window is reset every time the system is refreshed, so out-of-band updates may performed at a convenient maintenance window.

So a window of 2 months is possible if you do not reboot.

I do disagree with your way of thinking though. Except for contest (and that one is not active) all of these are about fixing bugs and providing better content. You will make your system LESS secure by disabling these options.

Feature Request --> cluster-command.sh - completion for a script

Tell us about your feature request:
A clear and concise description of what you want to happen or the change you would like to see. Use a use case to describe how a person would actually use your request to accomplish a goal. Thank you.

->  https://askubuntu.com/questions/1167193/how-do-i-apply-tab-completion-on-a-script-from-any-directory

Create a completion for particular instance of a shell command, regardless of how it is called (via absolute or relative path), but not others which may share the same name, but be located elsewhere. For instance, you might want completion for a script located at ~/bin/example.sh, but not /usr/bin/example.sh.
https://www.gnu.org/software/bash/manual/html_node/Programmable-Completion.html

How are you currently working without your feature request?
A description of any alternative solutions or features you've considered or are using today.

-> Not

https://blog.bouzekri.net/2017-01-28-custom-bash-autocomplete-script.html

Bash Tips: Autocompletion
https://www.linux-magazine.com/Online/Features/Bash-Tips-Autocompletion

Feature Request - cluster-command/cluster-command.sh - add docker rm $(docker ps -qa)

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when:

-> cluster-command/cluster-command.sh - add docker rm $(docker ps -qa)
  • A clear and concise description of what you want to happen.

    -> remove all containers that have stopped on cluster systems
    

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

-> use cluster-command.sh special "docker rm \$(docker ps -qa)"

Version:

  • OS ( lsb_release -a; Ubuntu 14.04 Ubuntu 16.04 Ubuntu 20.04 )

    -> Ubuntu 14.04  Ubuntu 16.04  Ubuntu 20.04
    
  • Command: ( github-repository/setup.github.repository.sh 2.199.861 )

    -> cluster-command/cluster-command.sh 2.108.385
    

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.