前提・実現したいこと
CentOS8でshファイルとcronを使った自動バックアップを作りたいが、
完成したファイル内が大量のフォルダ状態になってしまうので、
バックアップ対象フォルダのみにする方法が知りたい。
また、実行時にエラーが出るので、解決したい。
発生している問題
このqiitaの投稿のようにshファイルを作成した。
https://qiita.com/abgata20000/items/290612617469eaeeb68d
すると、バックアップはできるのだが、
tarファイル内がフルパスフォルダのパス構成のままになる。
希望の構成
/home/user/folder というパスのnewフォルダにあるファイルのみを、
backup_yymmddhhmmss.tar.gzという名前でバックアップしたい。
*圧縮フォルダ内はnewフォルダのみにしたい。
今の状況:
backup_yymmddhhmmss.tar.gzという名前で圧縮フォルダは作れている。
ただし圧縮フォルダ内が、/home/user/folder/new というフォルダ構成になっている。
エラーメッセージ
エラーではないと思うのだが、実行時にこの表示が出る。
tar -zcvf $dirpath/$filename -C / $backupfolder
tar -zcvf $dirpath/$filename $backupfolder
※バックアップコマンドをどちらにしても出る。
tar: メンバ名から先頭の `/' を取り除きます
該当のソースコード
sh
1#!/bin/bash 2# バックアップファイルを何日分残しておくか 3period='+24' 4 5# バックアップファイルを保存するディレクトリ 6dirpath='/home/user/backup' 7 8#バックアップ元フォルダ 9backupfolder="/home/user/folder/new" 10 11# ファイル名を定義(名前と年月日時分をファイル名にする) 12mydate=`date +%y%m%d%H%M%S` 13filename=$target"datebkup_$mydate.tar.gz" 14 15#backup実行 16tar -zcvf $dirpath/$filename $backupfolder 17 18# パーミッション変更 19chmod 700 $dirpath/$filename 20 21# 古いバックアップファイルを削除 22find $dirpath -type f -daystart -mtime $period -exec rm {} \; 23
試したこと
バックアップ実行のコマンドを変えてみたが、どちらも同じ結果だった。
tar -zcvf $dirpath/$filename -C / $backupfolder
tar -zcvf $dirpath/$filename $backupfolder
回答いただいた
tar -zcvf $dirpath/$filename new -C $backupfolder
では、エラーが表示される。
sh
1tar: The following options were used after any non-optional arguments in archive create or update mode. These options are positional and affect only arguments that follow them. 2Please, rearrange them properly. 3tar: -C `/home/user/folder/new' has no effect
補足情報
補足などあればここに記載します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/12 04:33
2021/04/12 04:53
2021/04/12 05:21