国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 操作系統(tǒng) > 正文

Shell腳本 實(shí)現(xiàn)vicpmv前自動(dòng)備份源文件

2024-06-09 16:59:50
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
  以下腳本把所有要編輯的源文件備份到/bak目錄下,并且所有的路徑位置保持不變,比如vi /etc/hosts,則把/etc/hosts復(fù)制到/bak/etc/hosts。
 
  # cat /sh/vii
  #!/usr/bin/bash
  #判斷源文件是否存在,存在才執(zhí)行備份操作
  if [ -f "$1" ];then
  #創(chuàng)建函數(shù),可實(shí)現(xiàn)任意鍵繼續(xù)
  #如果你的機(jī)器上不認(rèn)stty raw那么把函數(shù)中兩處出現(xiàn)的raw換成cbreak
  get_char()
  {
  SAVEDSTTY=`stty -g`
  stty -echo
  stty raw
  dd if=/dev/tty bs=1 count=1 2> /dev/null
  stty -raw
  stty echo
  stty $SAVEDSTTY
  }
  #創(chuàng)建備份的根路徑/bak,并讓所有人具有寫(xiě)權(quán)限
  if [ ! -d "/bak" ];then
  mkdir /bak
  chmod a+w /bak
  fi
  #判斷目標(biāo)文件所處的路徑并創(chuàng)建,讓所有人對(duì)新創(chuàng)建的任一級(jí)目錄均具有寫(xiě)權(quán)限
  echo $1 | grep "/" >/dev/null
  if [ "`echo $?`" = "0" ];then
  cd ${1%/*}
  fi
  pwdnow=`pwd`
  path=/bak${pwdnow}
  #echo $path
  if [ ! -d "$path" ];then
  mkdir -p $path
  patha=${pwdnow#/}
  chmod -R a+w /bak/${patha%%/*}
  fi
  #復(fù)制目標(biāo)文件
  datenow=`date +%Y%m%d`
  timenow=`date +%H%M%S`
  /usr/bin/cp $1 ${path}/${1##*/}.${datenow}.${timenow}
  echo "Target file "$1"
  has been copied to ${path}/${1##*/}.${datenow}.${timenow}"
  echo "Now going to "vi $1",Press any key to continue..."
  char=`get_char`
  fi
  #調(diào)用vi命令
  vi $1
  調(diào)用腳本
  # chmod a+x /sh/vii
  # /sh/vii /etc/passwd
  你可以把/sh加入到PATH變量中,這樣就更方便了,同理,涉及cp/mv命令時(shí)最好也備份一下目標(biāo)文件,以免被意外覆蓋。
 
 

(編輯:武林網(wǎng))

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 阳西县| 古蔺县| 尼勒克县| 新绛县| 格尔木市| 武宣县| 两当县| 饶平县| 偃师市| 株洲县| 襄樊市| 忻州市| 阿拉善右旗| 福海县| 鹤峰县| 清远市| 涟源市| 孝感市| 东至县| 马龙县| 岐山县| 响水县| 万荣县| 长丰县| 宁南县| 新宁县| 信宜市| 游戏| 霞浦县| 昭苏县| 鄂伦春自治旗| 壤塘县| 易门县| 山丹县| 临沧市| 高平市| 邵东县| 洪雅县| 张北县| 明溪县| 道孚县|