国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 哈巴河县| 高州市| 晋州市| 密山市| 健康| 墨竹工卡县| 湖州市| 兴城市| 松潘县| 宜川县| 桃园县| 灵川县| 漯河市| 阳泉市| 江口县| 秭归县| 瑞安市| 海原县| 安溪县| 黎平县| 嘉祥县| 平湖市| 黄山市| 台前县| 兴业县| 哈巴河县| 麻阳| 和田县| 涟源市| 嵊州市| 南郑县| 崇阳县| 包头市| 岗巴县| 颍上县| 都昌县| 海丰县| 厦门市| 耿马| 永年县| 湟源县|