linux下 乙個用於備份的小shell

2021-06-10 03:28:00 字數 1619 閱讀 8312

目前在linux下開發,但是常常需要備份。所以寫了乙個簡單的shell 來備份檔案以及資料夾

這個shell的功能是備份檔案夾或者檔案到 /root/bak下面,並且拷貝的時候新增時間戳

#!/bin/sh

#target dir

target=/root/bak

#get lastchar

function lastchar()

#function to handle dir

function  ergodic()

#/root/bak target dir make

if [ -d "$target" ];then

echo "$target exits"

else

mkdir $target

chmod a+w $target

fidatenow=`date +%y%m%d`

timenow=`date +%h%m%s`

#$1 is dir,

if [ -d "$1" ];then

tar_path1=` basename $1 `

tar_path=$target"/"$tar_path1"_"$datenow"_"$timenow

if [ -d "$tar_path" ];then

echo "$tar_path exits"

else

mkdir -p $tar_path

chmod a+w $tar_path

filastchar $1

if [ "$rval" = "/" ];then

numofchar1=` expr $numofchar "-" 1 `

rval=` echo -n "$1"|cut -b -$ `

ergodic $rval $tar_path

fielse

ergodic $1 $tar_path

fi#copy $1 to /root/bak

if [ -f "$1" ];then

file_name=` basename $1 `

tar_path=$target"/"$datenow"_"$timenow"_"$file_name

src_path=$target"/"$file_name

#echo $src_path

cp $1 $target

chmod a+x $src_path

mv $src_path $tar_path

echo "cp $1 $target"

echo "mv $src_path $tar_path"

fi非常笨拙的乙個小shell

可以將這個檔案cp 到/usr/bin下,這樣以後可以直接敲shell名字就可以用了

可以將/root/bak掛載到其它ip的資料夾下,這樣可以實現同步備份到異地。

試用舉例

我的shell檔名為vii

vii /root/project/shell_exercise

或者vii /root/project/shell_exercise/vii

或者vii ./shell_exercise

vii ./shell_exercise/vii

Android會是下乙個Linux?

近年來,智慧型手機終端市場的快速增長成為了大勢所趨。國外手機市場調研機構的 顯示,2010 年的全球手機市場整體出貨量將相較去年增長11.3 但其中智慧型手機整體出貨量和去年同比增長率卻高達35.5 的智慧型手機霸主諾基亞依然以接近40 的銷售份額領跑市場,市場佔比相當於第二名的rim 黑莓和第三名...

演算法小練 下乙個排列

title 演算法小練 下乙個排列 date 2019 12 19 19 55 01 categories 實現獲取下乙個排列的函式,演算法需要將給定數字序列重新排列成字典序中下乙個更大的排列。如果不存在下乙個更大的排列,則將數字重新排列成最小的排列 即公升序排列 必須原地修改,只允許使用額外常數空...

下乙個天亮

用起伏的背影 擋住哭泣的心 有些故事 不必說給 每個人聽 許多眼睛 看的太淺太近 錯過我沒被看見 那個自己 用簡單的言語 解開超載的心 有些情緒 是該說給 懂的人聽 你的熱淚 比我激動憐惜 我發誓要更努力 更有勇氣 等下乙個天亮 去上次牽手賞花那裡散步好嗎 有些積雪會自己融化 你的肩膀是我豁達的天堂...