If you have a hard time remembering the order of the times/dates fields of a crontab record this header might help you. I use this on all of my crontabs. Each value, if tab seperated should line up under the correct heading.
# #min hr day mon dayofwk cmd # #-------------------------------------------------------------------------------
Creating sub-shells in bash is simple: just put the commands to be run in the sub-shell inside parentheses. This causes bash to start the commands as a separate process. This group of commands essentially acts like a separate script file, their input/output can be collectively redirected and/or they can be executed in the background by following the closing parenthesis with an ampersand.
#!/bin/bash server_cmd=server pid_file=$(basename $server_cmd .sh).pid log_file=$(basename $server_cmd .sh).log ( echo "Starting server" echo "Doing some init work" $server_cmd # server becomes a daemon while true do if [[ -f $pid_file ]]; then sleep 15 else break fi done mail -s "Server exitted" joe@example.com <<<CRAP ) 2>&1 >> $log_file & echo "Server started"quote and example via LinuxJournal
I can never seem to remember what all of these default parameter variables are. I found this small shell script that prints them out when I forget.
#!/bin/sh -vx ####################################################### # example_1.1 (c) R.H.Reepe 1996 March 28 Version 1.0 # ####################################################### echo "Script name is [$0]" echo "First Parameter is [$1]" echo "Second Parameter is [$2]" echo "This Process ID is [$$]" echo "This Parameter Count is [$#]" echo "All Parameters [$@]" echo "The FLAGS are [$-]"It produces output like this:
#!/bin/sh -vx ####################################################### # example_1.1 (c) R.H.Reepe 1996 March 28 Version 1.0 # ####################################################### echo "Script name is [$0]" + echo 'Script name is [/home/me/bin/shellhelp]' Script name is [/home/me/bin/shellhelp] echo "First Parameter is [$1]" + echo 'First Parameter is []' First Parameter is [] echo "Second Parameter is [$2]" + echo 'Second Parameter is []' Second Parameter is [] echo "This Process ID is [$$]" + echo 'This Process ID is [15190]' This Process ID is [15190] echo "This Parameter Count is [$#]" + echo 'This Parameter Count is [0]' This Parameter Count is [0] echo "All Parameters [$@]" + echo 'All Parameters []' All Parameters [] echo "The FLAGS are [$-]" + echo 'The FLAGS are [hvxB]' The FLAGS are [hvxB]
You can watch command output on stdout as well as saving that output to a file for later analysis with the tee command.
me@home:~$ date |tee teefile.txt Wed Dec 17 10:50:21 CST 2008 me@home:~$ cat teefile.txt Wed Dec 17 10:50:21 CST 2008 me@home:~$
I found myself recently having to add some space to one of my LVM partitions. It’s fairly simple. First extend the partition size with lvextend:
lvextend -L+1G /dev/myvg/homevolThen, because I use ReiserFS I do:
resize_reiserfs -f /dev/myvg/homevolIf you use a different underlying filesystem refer to this page from the LVM HOWTO.
Tags: lvextend, lvm, lvm2, resize_reiserfs
I just updated to WordPress 2.7. Comment to this post if you notice any issues.
Quick command to see what you can run with elevated permissions via sudo:
sudo -lTags: sudo
To perform a global search and replace in vi do:
:%s/search_string/replacement_string/gIf you want to confirm each replacement add a “c” after the “g” at the end of the string.
You can get Refractor (Prism addon) to work in Ubuntu (and probably other unices) with one added step to the install process.
After installation you need to right click the icon and choose Properties.
In the Command box change “firefox”, for me it was “/usr/lib/firefox-3.0.4/firefox”, to xulrunner.
Tags: configuration, firefox, Linux, prism, refractor, ubuntu, xulrunner
Increase the load average on a machine for testing.
while true; do w & w & w & w; done