{"id":1339,"date":"2018-06-25T15:39:05","date_gmt":"2018-06-25T15:39:05","guid":{"rendered":"https:\/\/peloo.net\/?p=1339"},"modified":"2018-07-01T13:25:59","modified_gmt":"2018-07-01T13:25:59","slug":"dd%e5%a4%87%e4%bb%bd%e6%95%b4%e4%b8%aa%e7%a3%81%e7%9b%98shell%e8%84%9a%e6%9c%ac%ef%bc%88%e4%bd%bf%e7%94%a8%e4%bd%8d%e7%bd%ae%e5%8f%82%e6%95%b0%e5%b0%8f%e4%be%8b%e5%ad%90%ef%bc%89","status":"publish","type":"post","link":"https:\/\/peloo.net\/?p=1339","title":{"rendered":"dd\u5907\u4efd\u6574\u4e2a\u78c1\u76d8shell\u811a\u672c\uff08\u4f7f\u7528\u4f4d\u7f6e\u53c2\u6570\u5c0f\u4f8b\u5b50\uff09"},"content":{"rendered":"<p>\n\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"532\" src=\"https:\/\/peloo.net\/wp-content\/uploads\/2018\/06\/timg.jpg\" width=\"711\" \/>\n<\/p>\n<p>\n\t<span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\">\u6bcf\u6b21\u7528dd\u5907\u4efd\u6574\u4e2a\u78c1\u76d8\u7684\u65f6\u5019\u90fd\u5f88\u65b9\u4fbf\uff0c\u5076\u7136\u542c\u5230\u670b\u53cb\u95ee\u6211\u4f4d\u7f6e\u53c2\u6570\u7684\u95ee\u9898\uff0c\u4e8e\u662f\u5fc3\u8840\u6765\u6f6e\uff0c\u5e72\u8106\u5199\u4e2ashell\u811a\u672c\u5b9e\u73b0\u81ea\u52a8\u5907\u4efd\uff0c\u4ee5\u540e\u5c31\u4e0d\u7528\u627e\u6e90\u78c1\u76d8\uff0c\u76ee\u7684\u78c1\u76d8\uff0c\u6302\u8f7d\u5206\u533a\u7b49\u7b49\u64cd\u4f5c\u4e86\uff0c\u4ee3\u7801\u5e2e\u6211\u5b9e\u73b0\u3002<\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\">\u4ee5\u4e0b\u662f\u6211\u82b1\u4e86\u8fde\u7eed5\u4e2a\u5c0f\u65f6\u8c03\u8bd5\u597d\u7684\u811a\u672c\uff0c\u867d\u7136\u6709\u4e9b\u62d9\u52a3\uff0c\u4f46\u662f\u4e5f\u662f\u5c0f\u5c0f\u7684\u6210\u529f\u5427\uff0c\u6bcf\u5929\u8fdb\u6b65\u4e00\u70b9\u70b9\u3002<\/span><\/span>\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\">#!\/bin\/bash<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\"># Author: Attaboy<br \/>\n\t# Description: backup whole disk of S5 and HSTONG office PC&#039;s SSD using dd<br \/>\n\t# Modify history:<br \/>\n\t#&nbsp;&nbsp; &nbsp;2018-06-23 first release<br \/>\n\t#&nbsp;&nbsp; &nbsp;2018-06-24 modify<br \/>\n\t#&nbsp;&nbsp; &nbsp;2018-06-25 modify<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\">log=&quot;.\/dd_backup_disk.log&quot;<br \/>\n\tmount_dir=&quot;.\/m_dir&quot;<br \/>\n\tS5_bak_src_dev=$(fdisk -l 2&gt;\/dev\/null | awk -F &#039;[ \\t]+|:&#039; &#039;\/111.+G\/{print $2}&#039;)<br \/>\n\tHSTONG_bak_src_dev=$(fdisk -l 2&gt;\/dev\/null | awk -F &#039;[ \\t]+|:&#039; &#039;\/111.+G\/{print $2}&#039;)<br \/>\n\tS5_bak_dst_dev=$(fdisk -l 2&gt;\/dev\/null | awk -F &#039;[ \\t]+|:&#039; &#039;\/1.8.+T\/{print $2}&#039;)&quot;5&quot;<br \/>\n\tHSTONG_bak_dst_dev=$(fdisk -l 2&gt;\/dev\/null | awk -F &#039;[ \\t]+|:&#039; &#039;\/931\\.5.+GB\/{print $2}&#039;)&quot;1&quot;<br \/>\n\tS5_bak_dst_file=&quot;${mount_dir}\/backup\/home_dev_bak\/s5_os_bak\/ssd_bak_$(date +%Y%m%d).bz2&quot;<br \/>\n\tHSTONG_bak_dst_file=&quot;${mount_dir}\/Hstong-ssd-backup-$(date +%Y%m%d).bz2&quot;<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\">echo ${S5_bak_src_dev}<br \/>\n\techo ${S5_bak_dst_dev}<br \/>\n\techo ${S5_bak_dst_file}<br \/>\n\techo ${HSTONG_bak_src_dev}<br \/>\n\techo ${HSTONG_bak_dst_dev}<br \/>\n\techo ${HSTONG_bak_dst_file}<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\">usage() {<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo -e &quot;\\nSyntax Error! Only one argument is allowed!&quot; &gt;&gt;${log} 2&gt;&amp;1<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo -e &quot;Usage: script.sh [S5|HSTONG]\\n&quot; &gt;&gt;${log} 2&gt;&amp;1<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit 7<br \/>\n\t}<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\">pre_chk() {<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\"># check current execute user.<br \/>\n\tif [ $UID -ne \"0\" ] ; then<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo -e &quot;\\n...... Current user is not root.&quot; &gt;&gt;${log} 2&gt;&amp;1<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit -1<br \/>\n\tfi<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\">echo -e &quot;\\n====================================================\\n&quot; &gt;&gt;${log} 2&gt;&amp;1<br \/>\n\techo -e &quot;Check passed!!&quot; &gt;&gt;${log} 2&gt;&amp;1<br \/>\n\techo -e &quot;\\n====================================================\\n&quot; &gt;&gt;${log} 2&gt;&amp;1<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\">}<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\">backup() {<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\"># check the number of arguments<br \/>\n\tif [ $# -ne \"3\" ] ; then<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo -e &quot;\\n3 arguments will be specified.\\n&quot;<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo -e &quot;\\nUsage: backup [argu1] [argu2] [argu3]\\n&quot;<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit 10<br \/>\n\tfi<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\"># check mount dir exists<br \/>\n\tif [ ! -d ${mount_dir} ] ; then<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mkdir -p ${mount_dir}<br \/>\n\tfi<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\"># mount dst device<br \/>\n\t\\df -hT | grep -iE &quot;$2&quot;<br \/>\n\tif [ $? -eq \"0\" ] ; then<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; umount -l $2 &gt;&gt;${log} 2&gt;&amp;1<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mount -t ntfs-3g $2 ${mount_dir} &gt;&gt;${log} 2&gt;&amp;1<br \/>\n\telif [ $? -ne \"0\" ] ; then<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mount -t ntfs-3g $2 ${mount_dir} &gt;&gt;${log} 2&gt;&amp;1<br \/>\n\telse<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo -e &quot;\\nOther mount problem!!!\\n&quot; &gt;&gt;${log} 2&gt;&amp;1<br \/>\n\tfi<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\">\\df -hT | grep -iE &quot;$2&quot;<br \/>\n\t# check mount<br \/>\n\tif [ $? -eq \"0\" ] ; then<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo -e &quot;\\n&gt;&gt;&gt; Mount dst backup device OK\\n&quot; &gt;&gt;${log} 2&gt;&amp;1<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \\df -hT &gt;&gt;${log} 2&gt;&amp;1<br \/>\n\telse<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo -e &quot;\\nMount dst backup device FAILED\\n&quot; &gt;&gt;${log} 2&gt;&amp;1<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit 8<br \/>\n\tfi<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\"># check disk space<br \/>\n\t_dst_space=$(\\df -hT | grep -iE &quot;$2&quot; | awk -F &#039;[ \\t]+|G&#039; &#039;{print $5}&#039;)<br \/>\n\tif [ ${_dst_space} -le \"50\" ] ; then<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo -e &quot;\\nDisk space is less than 50GB\\n&quot; &gt;&gt;${log} 2&gt;&amp;1<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit 9<br \/>\n\telse<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo -e &quot;\\nDisk space is adequate\\n&quot; &gt;&gt;${log} 2&gt;&amp;1<br \/>\n\tfi<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\"># start to backup<br \/>\n\techo -e &quot;\\nStarting backup ...... \\n&quot; &gt;&gt;${log} 2&gt;&amp;1<br \/>\n\tdd if=$1 | bzip2 &gt;$3<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\">}<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\">post_do(){<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\"># check the number of arguments<br \/>\n\tif [ $# -ne \"1\" ] ; then<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo -e &quot;Syntax Error, Only one argument is allowed!&quot; &gt;&gt;${log} 2&gt;&amp;1<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit -2<br \/>\n\tfi<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\"># check if dst backup file exists<br \/>\n\tbak_file_size=$(du -m $1 | awk &#039;{print $1}&#039;)<br \/>\n\tif [ ! -s $1 ] ; then<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo -e &quot;\\nBackup file not exists!!\\n&quot; &gt;&gt;${log} 2&gt;&amp;1<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit 9<br \/>\n\telif [ ${bak_file_size} -le \"20000\" ] ; then<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo -e &quot;Dst backup file size is less than 20000 MB !!&quot; &gt;&gt;${log} 2&gt;&amp;1<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit -3<br \/>\n\telse<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo -e &quot;Congratulations, backup succeeded!!&quot; &gt;&gt;${log} 2&gt;&amp;1<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\">fi<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\">ping_num=&quot;4&quot;<br \/>\n\techo -e &quot;\\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\\n&quot; &gt;&gt;${log} 2&gt;&amp;1<br \/>\n\techo -e &quot;Your machine will halt in ${ping_num} seconds.&quot; &gt;&gt;${log} 2&gt;&amp;1<br \/>\n\techo -e &quot;\\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\\n&quot; &gt;&gt;${log} 2&gt;&amp;1<br \/>\n\tping -c ${ping_num} 127.0.0.1 &gt;&gt;${log} 2&gt;&amp;1<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\"># shutdown<br \/>\n\tinit 0<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\">}<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\"># start to backup<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\">if [ $# -gt \"1\" ] ; then<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; usage<br \/>\n\telif [ $# -lt \"1\" ] ; then<br \/>\n\t&nbsp;echo -e &quot;\\nNo arguments found.\\n&quot; &gt;&gt;${log} 2&gt;&amp;1<br \/>\n\t&nbsp;exit 7<br \/>\n\telse<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pre_chk<br \/>\n\tfi<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\">case $1 in<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\">&nbsp; S5|s5)<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if [ -z ${S5_bak_src_dev} ] ; then<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo -e &quot;\\nSrc backup device not exists!!\\n&quot; &gt;&gt;${log} 2&gt;&amp;1<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit 6<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; backup ${S5_bak_src_dev} ${S5_bak_dst_dev} ${S5_bak_dst_file}<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; post_do ${S5_bak_dst_file}<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fi<br \/>\n\t&nbsp; ;;<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\">&nbsp; HSTONG|hs|HS|hstong|HST)<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if [ -z ${HSTONG_bak_src_dev} ] ; then<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo -e &quot;\\nSrc backup device not exists!!\\n&quot; &gt;&gt;${log} 2&gt;&amp;1<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit 6<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; backup ${HSTONG_bak_src_dev} ${HSTONG_bak_dst_dev} ${HSTONG_bak_dst_file}<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; post_do ${HSTONG_bak_dst_file}<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fi<br \/>\n\t&nbsp; ;;<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\">&nbsp; *)<br \/>\n\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; usage<br \/>\n\t&nbsp; ;;<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\">esac<\/span><\/span><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#0000CD\"><span style=\"font-size:16px\"><span style=\"font-family:verdana,geneva,sans-serif\">exit 0<\/span><\/span><\/span>\n<\/p>\n<p>\n\t&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6bcf\u6b21\u7528dd\u5907\u4efd\u6574\u4e2a\u78c1\u76d8\u7684\u65f6\u5019\u90fd\u5f88\u65b9\u4fbf\uff0c\u5076\u7136\u542c\u5230\u670b\u53cb\u95ee\u6211\u4f4d\u7f6e\u53c2\u6570\u7684\u95ee\u9898\uff0c\u4e8e\u662f\u5fc3\u8840\u6765\u6f6e\uff0c\u5e72\u8106\u5199\u4e2ashell\u811a\u672c\u5b9e\u73b0\u81ea\u52a8\u5907\u4efd\uff0c\u4ee5\u540e\u5c31\u4e0d\u7528\u627e\u6e90\u78c1\u76d8\uff0c\u76ee\u7684\u78c1\u76d8\uff0c\u6302\u8f7d\u5206\u533a\u7b49\u7b49\u64cd\u4f5c\u4e86\uff0c\u4ee3\u7801\u5e2e\u6211\u5b9e\u73b0\u3002 \u4ee5\u4e0b\u662f\u6211\u82b1\u4e86\u8fde\u7eed5\u4e2a\u5c0f\u65f6\u8c03\u8bd5\u597d\u7684\u811a\u672c\uff0c\u867d\u7136\u6709\u4e9b\u62d9\u52a3\uff0c\u4f46\u662f\u4e5f\u662f\u5c0f\u5c0f\u7684\u6210\u529f\u5427\uff0c\u6bcf\u5929\u8fdb\u6b65\u4e00\u70b9\u70b9\u3002 &nbsp; #!\/bin\/bash # Author: Attaboy # Description: backup whole disk of S5 and HSTONG office PC&#039;s SSD using dd # Modify history: #&nbsp;&nbsp; &nbsp;2018-06-23 first release #&nbsp;&nbsp; &nbsp;2018-06-24 modify #&nbsp;&nbsp; &nbsp;2018-06-25 modify log=&quot;.\/dd_backup_disk.log&quot; mount_dir=&quot;.\/m_dir&quot; S5_bak_src_dev=$(fdisk -l 2&gt;\/dev\/null | awk -F &#039;[ \\t]+|:&#039; &#039;\/111.+G\/{print $2}&#039;) HSTONG_bak_src_dev=$(fdisk -l 2&gt;\/dev\/null | awk -F &#039;[ \\t]+|:&#039; &#039;\/111.+G\/{print&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/peloo.net\/index.php?rest_route=\/wp\/v2\/posts\/1339"}],"collection":[{"href":"https:\/\/peloo.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/peloo.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/peloo.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/peloo.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1339"}],"version-history":[{"count":2,"href":"https:\/\/peloo.net\/index.php?rest_route=\/wp\/v2\/posts\/1339\/revisions"}],"predecessor-version":[{"id":1343,"href":"https:\/\/peloo.net\/index.php?rest_route=\/wp\/v2\/posts\/1339\/revisions\/1343"}],"wp:attachment":[{"href":"https:\/\/peloo.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1339"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/peloo.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1339"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/peloo.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1339"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}