Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm trying to run a manual quota report with specific parameters from a Unix box against a cDot 8.2 svm.
basically I want to go to advanced mode:
set -privilege advanced -confirmations off -units KB -rows 99 -showseparator "\,"
and then run
quota report -vserver svmservername -fields quota-type,quota-target-id,volume,tree,disk-used,disk-limit,threshold,quota-specifier
it works when I do it manually but not when I run the following script:
#!/usr/bin/bash
#Command Variables
USER="username"
SET='set -privilege advanced -confirmations off -units KB -rows 99 -showseparator "\,"'
REPORT=`quota report -vserver svmservername -fields quota-type,quota-target-id,volume,tree,disk-used,disk-limit,threshold,quota-specifier`
OUT=quota.txt
SVMSVR=192.168.1.1
case $1 in
'SVMSVR')
ssh $USER@$SVMSVR "$SET; $REPORT" >quota.txt
;;
*)
esac
exit
what am I doing wrong?
please don't suggest I do this in a powershell script. this must be run from a unix box.
4 REPLIES 4
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
try it without the back ticks.
If this post resolved your issue, help others by selecting ACCEPT AS SOLUTION or adding a KUDO.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I did several times and it several different ways..
I've discovered after hours of frustration, trial and error that the output for an ssh session is just not the same is the output of logging in and running the commands manually.
I've managed to hack it but it would be VERY handy if netapp were able to make this output standard across both methods.
thanks for your response though.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Glad you got it working. The output should be the same. Perhaps you're still running your local quota command?
What I was trying to nudge you towards was that using back ticks on the quota command is executing it against your local machine and storing the result in the variable. Then later you were trying to send the result of the local quota command to the cluster over ssh. You probably also discovered you need quotes around the IP, and the case structure doesn't look right. you probably want a for/in/do structure there instead if you plan to have a list of targets to run it against at some point down the road.
If this post resolved your issue, help others by selecting ACCEPT AS SOLUTION or adding a KUDO.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
os2mac -
I'm with Sean - there shouldn't be any difference between running a command via SSH or via a direct login to the CLI. I use SSH (well, Plink from Windows) for tons of scripted stuff where a command line is just convenient.
Another suggestion for improvement - use "rows 0" rather than "rows 99". Setting rows to 99 can still paginate if enough data, while rows 0 will not.
And since you mention this has to come from a UNIX box - just have to ask - how's your perl? If you have decent perl skills, there are additional options to get just the data you need and format as desired using the NMSDK alongside perl in functionally small scripts and you don't need to worry about setting options and such to get the data. Just a thought for your consideration.
Hope this helps.
Bob Greenwald
Senior System Engineer | cStor
NCIE SAN ONTAP, Data Protection
Kudos and accepted solutions are always appreciated.
