ディレクトリバックアップ用のシェルスクリプト

ディレクトリバックアップ用のシェルスクリプト

私はWindows上でEclipseを実行しており、すべてのプロジェクトのsrcディレクトリを自動的にバックアップしたいと思います。私はcygwinをインストールして簡単なバックアップスクリプトを作成しようとしましたが、ターゲットファイル名を正確に指定するのに問題があります。バックアップはスクリプトの現在のディレクトリになければなりません。

#!/bin/bash


for f in /cygdrive/c/Documents\ and\ Settings/USERNAME/My\ Documents/Eclipse\ Workspace/*
do
        echo "in folder \"$f\""
        cp -a "$f"/src/ ./????.bak

done

私の考えでは? ? ? ?プロジェクトフォルダです(絶対パスではありません)。ありがとうございます。

ベストアンサー1

あなたが探しているシェル構造は次のとおりですdirname

for f in /cygdrive/c/Documents\ and\ Settings/USERNAME/My\ Documents/Eclipse\ Workspace/*
do
    cp -a "$f/src/" "./$(dirname "$f").bak"
done

しかし、実際にはこれは良いバックアップソリューションではありません。コピーが実行されるたびに、以前の状態が削除されます。そしてまったく記録を提供しません。バージョン管理の使用。何でも試してみてください。CVS(1時間で便利な機能を学ぶことができます)。どのバージョン管理システムを選択しても:

  1. リポジトリを作成します。
  2. 既存のファイルをチェックインまたはインポートします。
  3. 小さなタスクを完了するたびにコミットしてください。

おすすめ記事