I wrote a simple script today to get all the partitions on all the disks and then create <a class="zem_slink freebase/en/fstab" title="Fstab" rel="wikipedia" href="http://en.wikipedia.org/wiki/Fstab">fstab entry with them. The script also gets the <a class="zem_slink freebase/en/universally_unique_identifier" title="Universally Unique Identifier" rel="wikipedia" href="http://en.wikipedia.org/wiki/Universally_Unique_Identifier">UUID and uses the same to make the entry 🙂
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
<td>
<div class="bash codecolorer">
<span class="co0">#!/bin/bash -</span><br /> <span class="co0">#===============================================================================</span><br /> <span class="co0">#</span><br /> <span class="co0"># FILE: mount_add_all.sh</span><br /> <span class="co0">#</span><br /> <span class="co0"># USAGE: ./mount_add_all.sh</span><br /> <span class="co0">#</span><br /> <span class="co0"># DESCRIPTION: Find all the <a class="zem_slink freebase/en/disk_partitioning" title="Disk partitioning" rel="wikipedia" href="http://en.wikipedia.org/wiki/Disk_partitioning">disk partitions</a> and all those that are not present</span><br /> <span class="co0"># in the fstab.</span><br /> <span class="co0">#</span><br /> <span class="co0"># OPTIONS: ---</span><br /> <span class="co0"># REQUIREMENTS: ---</span><br /> <span class="co0"># BUGS: ---</span><br /> <span class="co0"># NOTES: ---</span><br /> <span class="co0"># AUTHOR: <a class="zem_slink" title="Digital Inspiration" rel="homepage" href="http://amit-agarwal.co.in">Amit Agarwal</a> (AKA), amit.agarwal@amit-agarwal.co.in</span><br /> <span class="co0"># COMPANY: Individual</span><br /> <span class="co0"># VERSION: 1.0</span><br /> <span class="co0"># CREATED: 06/19/2010 10:44:34 PM IST</span><br /> <span class="co0"># REVISION: 0.1</span><br /> <span class="co0">#===============================================================================</span><br /> <span class="re2">file</span>=<span class="st0">"/tmp/fstab"</span><br /> <span class="re2">disk_types</span>=<span class="br0">(</span>hd sd<span class="br0">)</span><br /> <span class="re2">count</span>=<span class="co1">${#disk_types}</span><br /> <br /> find_disks <span class="br0">(</span><span class="br0">)</span><br /> <span class="br0">{</span><br /> <span class="kw3">echo</span> <span class="co1">${#disk_types}</span> <span class="re1">$count</span><br /> <span class="kw1">for</span> i <span class="kw1">in</span> $<span class="br0">(</span><span class="kw2">seq</span> <span class="nu0">1</span> <span class="re1">$count</span><span class="br0">)</span><br /> <span class="kw1">do</span><br /> <span class="br0">(</span><span class="br0">(</span> <span class="re2">j</span>=i-<span class="nu0">1</span> <span class="br0">)</span><span class="br0">)</span><br /> <span class="kw3">echo</span> <span class="re1">$i</span> <span class="re1">$j</span><br /> <span class="kw3">echo</span> <span class="re1">$j</span> <span class="co1">${disk_types[0]}</span> <span class="co1">${disk_types[1]}</span><br /> disk_array<span class="br0">[</span><span class="re1">$j</span><span class="br0">]</span>=$<span class="br0">(</span><span class="kw2">ls</span> <span class="sy0"><</span>a <span class="re2">class</span>=<span class="st0">"zem_slink freebase/en/device_file_system"</span> <span class="re2">title</span>=<span class="st0">"Device file"</span> <span class="re2">rel</span>=<span class="st0">"wikipedia"</span> <span class="re2">href</span>=<span class="st0">"http://en.wikipedia.org/wiki/Device_file"</span><span class="sy0">>/</span>dev<span class="sy0"></</span>a<span class="sy0">>/</span><span class="co1">${disk_types[$j]}</span><span class="br0">[</span>a-z<span class="br0">]</span><span class="br0">)</span><br /> <span class="kw3">echo</span> <span class="co1">${disk_array[$j]}</span><br /> <span class="kw1">done</span><br /> <span class="br0">}</span> <span class="co0"># ---------- end of function find_disks ----------</span><br /> <br /> find_partitions <span class="br0">(</span><span class="br0">)</span><br /> <span class="br0">{</span><br /> <span class="kw3">echo</span> <span class="st0">"In find_partitions"</span><br /> <span class="re2">l</span>=<span class="nu0"></span><br /> <span class="re2">count</span>=<span class="co1">${#disk_types}</span><br /> <span class="kw1">for</span> i <span class="kw1">in</span> $<span class="br0">(</span><span class="kw2">seq</span> <span class="nu0">1</span> <span class="re1">$count</span><span class="br0">)</span><br /> <span class="kw1">do</span><br /> <span class="br0">(</span><span class="br0">(</span><span class="re2">j</span>=i-<span class="nu0">1</span><span class="br0">)</span><span class="br0">)</span><br /> <span class="kw1">for</span> k <span class="kw1">in</span> <span class="co1">${disk_array[$i]}</span><br /> <span class="kw1">do</span><br /> <span class="kw3">echo</span> <span class="re1">$k</span><br /> <span class="sy0"><!</span>--loginview start--<span class="sy0">></span>disk_partitions<span class="br0">[</span><span class="re1">$l</span><span class="br0">]</span>=<span class="sy0">`</span><span class="kw2">fdisk</span> <span class="re5">-l</span> <span class="re1">$k</span> <span class="sy0">|<</span>a <span class="re2">class</span>=<span class="st0">"zem_slink freebase/en/grep"</span> <span class="re2">title</span>=<span class="st0">"Grep"</span> <span class="re2">rel</span>=<span class="st0">"wikipedia"</span> <span class="re2">href</span>=<span class="st0">"http://en.wikipedia.org/wiki/Grep"</span><span class="sy0">></span><span class="kw2">grep</span><span class="sy0"></</span>a<span class="sy0">></span> <span class="st0">"^/dev"</span> <span class="sy0">|</span><span class="kw2">grep</span> <span class="re5">-v</span> <span class="st0">"Extended$"</span><span class="sy0">|</span><span class="kw2">cut</span> <span class="re5">-d</span><span class="st0">" "</span> -f1<span class="sy0">`</span><br /> <span class="kw3">echo</span> <span class="co1">${disk_partitions[$l]}</span> <span class="re1">$l</span><span class="sy0"><!</span>--loginview end--<span class="sy0">></span><br /> <span class="br0">(</span><span class="br0">(</span>l++<span class="br0">)</span><span class="br0">)</span><br /> <span class="kw1">done</span><br /> <span class="kw1">done</span><br /> <span class="br0">}</span> <span class="co0"># ---------- end of function find_partitions ----------</span><br /> <br /> add_fat <span class="br0">(</span><span class="br0">)</span><br /> <span class="br0">{</span><br /> <span class="kw3">echo</span> <span class="st0">"# Added with script for <span class="es2">$label</span> and <span class="es2">$k</span>"</span> <span class="sy0">>></span> <span class="re1">$file</span><br /> <span class="kw3">echo</span> <span class="st0">"<span class="es2">$uuid</span> /mnt/<span class="es2">$label</span> vfat nosuid,nodev,uhelper=udisks,uid=500,gid=500,shortname=mixed,dmask=0077 0 0"</span> <span class="sy0">>></span> <span class="re1">$file</span><br /> <span class="br0">}</span> <span class="co0"># ---------- end of function add_fat ----------</span><br /> <br /> add_<span class="sy0"><</span>a <span class="re2">class</span>=<span class="st0">"zem_slink freebase/en/ext3"</span> <span class="re2">title</span>=<span class="st0">"Ext3"</span> <span class="re2">rel</span>=<span class="st0">"wikipedia"</span> <span class="re2">href</span>=<span class="st0">"http://en.wikipedia.org/wiki/Ext3"</span><span class="sy0">></span>ext3<span class="sy0"></</span>a<span class="sy0">></span> <span class="br0">(</span><span class="br0">)</span><br /> <span class="br0">{</span><br /> <span class="kw3">echo</span> <span class="st0">"# Added with script for <span class="es2">$label</span> and <span class="es2">$k</span>"</span> <span class="sy0">>></span> <span class="re1">$file</span><br /> <span class="kw3">echo</span> <span class="st0">"<span class="es2">$uuid</span> /mnt/<span class="es2">$label</span> ext3    defaults    0 0"</span> <span class="sy0">>></span> <span class="re1">$file</span><br /> <br /> <span class="br0">}</span> <span class="co0"># ---------- end of function add_ext3 ----------</span><br /> <br /> find_UUID <span class="br0">(</span><span class="br0">)</span><br /> <span class="br0">{</span><br /> <span class="kw3">echo</span> <span class="st0">"In find_UUID with <span class="es2">$l</span>"</span><br /> <span class="br0">(</span><span class="br0">(</span>l--<span class="br0">)</span><span class="br0">)</span><br /> <span class="kw1">for</span> i <span class="kw1">in</span> $<span class="br0">(</span><span class="kw2">seq</span> <span class="nu0"></span> <span class="re1">$l</span><span class="br0">)</span><br /> <span class="kw1">do</span><br /> <span class="kw3">echo</span> <span class="co1">${disk_partitions[$i]}</span><br /> <span class="kw1">for</span> k <span class="kw1">in</span> <span class="co1">${disk_partitions[$i]}</span><br /> <span class="kw1">do</span><br /> <span class="kw3">echo</span> <span class="re1">$k</span><br /> <span class="sy0"><!</span>--loginview start--<span class="sy0">></span><span class="re2">temp</span>=$<span class="br0">(</span>blkid <span class="re1">$k</span><span class="br0">)</span><br /> <span class="re2">label</span>=$<span class="br0">(</span><span class="kw3">echo</span> <span class="re1">$temp</span><span class="sy0">|</span><span class="kw2">grep</span> <span class="st0">"LABEL="</span><span class="sy0">|</span><span class="kw2">sed</span> <span class="co3">\'</span>s<span class="sy0">/</span>.<span class="sy0">*</span><span class="re2">LABEL</span>=<span class="st0">"//\'|sed \'s/"</span>.<span class="sy0">*//</span><span class="co3">\'</span><span class="br0">)</span><br /> <span class="re2">uuid</span>=$<span class="br0">(</span><span class="kw3">echo</span> <span class="re1">$temp</span><span class="sy0">|</span><span class="kw2">grep</span> <span class="st0">"UUID="</span><span class="sy0">|</span><span class="kw2">sed</span> <span class="co3">\'</span>s<span class="sy0">/</span>.<span class="sy0">*</span><span class="re2">UUID</span>=<span class="st0">"//\'|sed \'s/"</span>.<span class="sy0">*//</span><span class="co3">\'</span><span class="br0">)</span><br /> <span class="re2">atype</span>=$<span class="br0">(</span><span class="kw3">echo</span> <span class="re1">$temp</span><span class="sy0">|</span><span class="kw2">grep</span> <span class="st0">"TYPE="</span><span class="sy0">|</span><span class="kw2">sed</span> <span class="co3">\'</span>s<span class="sy0">/</span>.<span class="sy0">*</span><span class="re2">TYPE</span>=<span class="st0">"//\'|sed \'s/"</span>.<span class="sy0">*//</span><span class="co3">\'</span><span class="br0">)</span><span class="sy0"><!</span>--loginview end--<span class="sy0">></span><br /> <span class="kw1">if</span> <span class="br0">[</span> <span class="re1">$atype</span> = <span class="st0">"vfat"</span> <span class="br0">]</span><br /> <span class="kw1">then</span><br /> add_fat <span class="re1">$label</span> <span class="re1">$uuid</span> <span class="re1">$k</span><br /> <span class="kw1">fi</span><br /> <span class="kw1">if</span> <span class="br0">[</span> <span class="re1">$atype</span> = <span class="st0">"ext3"</span> <span class="br0">]</span><br /> <span class="kw1">then</span><br /> add_ext3 <span class="re1">$label</span> <span class="re1">$uuid</span> <span class="re1">$k</span><br /> <span class="kw1">fi</span><br /> <span class="kw3">echo</span> <span class="re1">$label</span> <span class="re1">$uuid</span> <span class="re1">$atype</span><br /> <span class="kw1">done</span><br /> <span class="kw1">done</span><br /> <span class="br0">}</span> <span class="co0"># ---------- end of function find_UUID ----------</span><br /> <br /> find_disks<br /> find_partitions<br /> find_UUID
</div>
</td>
</tr>