Difference between revisions of "Useful Commands"
From Wikifications
(added mailit script) |
|||
(One intermediate revision by the same user not shown) | |||
Line 4: | Line 4: | ||
-v = verbose | -v = verbose | ||
-z = use compression (most useful across slow network links) | -z = use compression (most useful across slow network links) | ||
+ | -P = 'partial' mode; stores partially transfered files so you can resume if needed | ||
The following copies the local directory /some/stuff into a directory called 'stuff' in the user's home dir on the remote host. | The following copies the local directory /some/stuff into a directory called 'stuff' in the user's home dir on the remote host. | ||
− | rsync - | + | rsync -avzP /some/stuff user@remote.host:stuff |
To go in the other direction, use the form: | To go in the other direction, use the form: | ||
− | rsync - | + | rsync -avP user@host.com:'/dir/1 /dir/2' /local/path |
====Data rescue==== | ====Data rescue==== | ||
Line 59: | Line 60: | ||
defaults -currentHost write com.apple.screensaver moduleName -string foo | defaults -currentHost write com.apple.screensaver moduleName -string foo | ||
defaults -currentHost write com.apple.screensaver modulePath -string "~/Library/Screen Savers/foo.saver" | defaults -currentHost write com.apple.screensaver modulePath -string "~/Library/Screen Savers/foo.saver" | ||
+ | |||
+ | ====Mail Server Testing==== | ||
+ | Use this to generate a bunch of messages with attachments. | ||
+ | |||
+ | find / -name "*.jpg" -print -exec ./mailit.sh {} \; | ||
+ | |||
+ | with mailit.sh containing the following. Edit the email address as needed. | ||
+ | |||
+ | #!/bin/sh | ||
+ | # path comes in as only arg | ||
+ | BASE=`basename "$1"` | ||
+ | uuencode "$1" $BASE | mail -s $BASE netuser1@server100.4952 |
Latest revision as of 16:54, 20 June 2009
Contents
Rsync
Use it just like scp for maximum ease! We will add the -avz flags for
-a = archive, preserve metadata -v = verbose -z = use compression (most useful across slow network links) -P = 'partial' mode; stores partially transfered files so you can resume if needed
The following copies the local directory /some/stuff into a directory called 'stuff' in the user's home dir on the remote host.
rsync -avzP /some/stuff user@remote.host:stuff
To go in the other direction, use the form:
rsync -avP user@host.com:'/dir/1 /dir/2' /local/path
Data rescue
Have a dying disk? Better get the data off before it's too late! disk1 is the culprit in this example.
dd conv=noerror,sync if=/dev/disk1 of=/Volumes/whatever/backup.dmg
Zip files with resource forks
ditto -c -k --keepParent aFolder aFolder.zip
Encrypted and growable (sparse) disk image
(-size specifies max growth)
hdiutil create dmg_name -size 1g -encryption -type SPARSE -fs HFS+ -volname Vault
Global find / replace
perl -pi -e 's/foo/bar/g' file perl -pi -e 's/mandir=\'\${prefix}\/man\'/mandir=\'\${prefix}\/share\/man\'/g' configure
====Disk Stats==== (zsh)
echo -n "Sum of all HFS and AFP volumes in gigs: " ; x=0 ; df -t hfs,afpfs | grep "/" \ | awk '{print $2}' | sed 's/G//g' | while read line ; do x=($line + $x); done ; echo "($x) / 1024 / 1024 / 2" | bc
Get console idle time
echo $((`ioreg -c IOHIDSystem | sed -e '/HIDIdleTime/ !{ d' -e 't' -e '}' -e 's/.* = //g' -e 'q'` / 1000000000))
System Tuning
Any of these can be set manually with:
sudo sysctl -w sysctl.key=value
Place the following in /etc/sysctl.conf and reboot to boost your limits
# values increased by 2x over defaults kern.maxfiles=24576 kern.maxfilesperproc=20480 kern.maxprocperuid=200 kern.maxproc=1064
iChat Logging
defaults write com.apple.iChat Log YES defaults write com.apple.iChat Log.SecureIM YES defaults write com.apple.iChatAgent Log YES defaults write com.apple.iChatAgent Log.SecureIM YES /Applications/iChat.app/Contents/MacOS/iChat -errorLogLevel 7
Mail logging
/Applications/Mail.app/Contents/MacOS/Mail -LogActivityOnHost bar.company.com
Screen Saver
defaults -currentHost write com.apple.screensaver askForPassword -boolean true defaults -currentHost write com.apple.screensaver moduleName -string foo defaults -currentHost write com.apple.screensaver modulePath -string "~/Library/Screen Savers/foo.saver"
Mail Server Testing
Use this to generate a bunch of messages with attachments.
find / -name "*.jpg" -print -exec ./mailit.sh {} \;
with mailit.sh containing the following. Edit the email address as needed.
#!/bin/sh # path comes in as only arg BASE=`basename "$1"` uuencode "$1" $BASE | mail -s $BASE netuser1@server100.4952