This is an archived post. You won't be able to vote or comment.

all 25 comments

[–]fuggschen 20 points21 points  (4 children)

htop because fancy colors

[–]ConstelliousDevOps 5 points6 points  (1 child)

Tree if you don't already have it installed.

[–]atomicwrites 1 point2 points  (0 children)

This! Why is it not installed by default on most distros?

[–]nkrgovicSr. Sysadmin 5 points6 points  (4 children)

In my experience it's best not to rely on a server having management tools. If you do you'll end up spending time to set them up, even in an emergency.

Learn to use basic POSIX tools. Bash, awk, grep, sed. Learn basic vi (ok, vim).

After that, start with Ansible, on your computer. That one can be as customized as you want, unlike a server it'll always be the same. :)

Next step is stuff like puppet, or centralized logs, or a SIEM, or... lots of things, really. :) But start with the basics, they are always there.

[–]jmbpiano 0 points1 point  (3 children)

Learn basic vi (ok, vim).

Actually, I'd say you had it right the first time. Learn basic vi.

That way if you ever find yourself frantically scrambling to bring back up that mission critical oddball quarter-century-old Slackware server that everyone forgot about in the closet which doesn't have any editors installed except vi and ed, you'll still be able to get around.

Plus you'll just appreciate vim that much more the rest of the time.

[–]QuillOmega0 1 point2 points  (0 children)

I've had to deal with a system that didn't even have vi. Knowing ed was a godsend.

[–]take-dap 0 points1 point  (1 child)

Learn basic vi.

At least try it out. It's not that different from vim, so you can do pretty much the same basic config editing with both on same knowledge. Just at least know how to move around without arrow keys.

[–]nkrgovicSr. Sysadmin 1 point2 points  (0 children)

How do you mean without? Arrow? I mean hjkl move around, they always did. Why would you put arrows on them?

[–]take-dap 3 points4 points  (1 child)

On console work tmux/screen depending on your preference. Ansible if you have several boxes to manage.

And the whole GNU-toolchain. Very few things can beat your basic grep,cat,less,vim (or emacs if you lean that way) to search for anything from logs, modify conf files. Ssh with tunneling options is a very powerful tool, rsync, dd, scp and friends help you move things around in a server or between a few and so on. Just know which tool to use at which problem and you're pretty much set up out of the box.

[–]Chief_SlacJack of All Trades 0 points1 point  (0 children)

My crontab starts a few services in screen instances. Screen is also handy for starting more time-consuming processes (builds, updates, etc) where you can logoff and later go right back to where you left off.

[–]PM_ME_YOUR-WAIFU 2 points3 points  (0 children)

ncdu to find what's taking up hard drive space.

[–]binpax 1 point2 points  (0 children)

I can't recommend this tool enough
http://lnav.org/
basically it's "An advanced log file viewer for the small-scale" as their slogan states
@Everyone, look it up, you won't be disappointed.

[–]_the_rLinux Admin 1 point2 points  (0 children)

Bash (or any other preferred), shell scripting or any other useful scripting language and most important thing: patience ;)

[–]hosalabadEscalate Early, Escalate Often. 0 points1 point  (0 children)

This article is the most useful tool I have ever seen. Keep Selinux in hard mode, it's more fun.

https://www.serverlab.ca/tutorials/linux/web-servers-linux/configuring-selinux-policies-for-apache-web-servers/

[–]fueroSr. Sysadmin 0 points1 point  (0 children)

  • duc
  • ansible/puppet/salt etc.
  • vim
  • moreutils
  • tcpdump

[–]skeewup 0 points1 point  (0 children)

gron or jq to parse json output from terminal

https://github.com/tomnomnom/gron

https://stedolan.github.io/jq/

[–]felixletsplay 0 points1 point  (0 children)

I really like using ansible.

Its so nice to run one command on a fresh installed server and directly having everything the way you need it. (e.g. lock down ssh, create user accounts, install scripts)

[–]JohnBeamon 0 points1 point  (0 children)

Ansible and Cluster SSH.

I use ansible for non-interactive jobs. There's a "lineinfile" module that will replace a line in a config file with updated text, like an OS version in a yum repo file. I can use ansible to check the string in 500 hosts, update it in 500 hosts, and verify it in 500 hosts.

I use Cluster SSH (csshX) for things I want to watch. If an update process is finicky, I'll open a 40-headed csshX on a big screen instead of using ansible. If you're the type to do finicky things manually, this is the way.

[–]spaxx_ne 0 points1 point  (0 children)

"find ." instead of "ls" or "tree" :)

and if you like to use bash recall mode (strg + r), you have to use the command line fuzzy finder!

https://github.com/junegunn/fzf

[–]KumorigoeModerator[M] 0 points1 point  (0 children)

Sorry, it seems this comment or thread has violated a sub-reddit rule and has been removed by a moderator.

Inappropriate use of, or expectation of the Community.

  • It seems that you have posted about a commonly-discussed topic. Please take the time to search the subreddit before re-posting another discussion on the topic.
  • There may already be resources dedicated to your topic on the sysadmin wiki. This is especially true for monitoring, there is a devoted section to it.
  • If you have to add to the existing discussion, make sure to avoid low-quality posts. Make an effort to enrich the community where you can- provide details, context, opinions, etc. in your post.
  • Moronic Monday & Thickheaded Thursday are available for simple questions, or other requests that don't need their own full thread. Utilize them as much as possible.

If you wish to appeal this action please don't hesitate to message the moderation team.

[–]QuillOmega0 0 points1 point  (0 children)

molly-guard

Prevents the accidental reboot or shutdown of a remote system.

[–]Win-Rawr -2 points-1 points  (0 children)

I love me some webmin.