質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

バックアップ

バックアップとは、保存データやプログラムの複製を異なる記録装置などへ保存することを言います。バックアップを取っておくことで、機器のトラブルでデータが損傷するなどの不測の事態にもデータを複製することが可能です。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

GitLab

GitLabは Gitoliteをブラウザから管理できるようにする Rubyアプリケーションで、 GitHubのようなサービスをクローズドな環境に独自で構築できるように 公開されたものです。

Q&A

解決済

1回答

1387閲覧

ローカルマシンからリモートマシンで動いてるGitLabのバックアップを取得して圧縮する

1297518

総合スコア1

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

バックアップ

バックアップとは、保存データやプログラムの複製を異なる記録装置などへ保存することを言います。バックアップを取っておくことで、機器のトラブルでデータが損傷するなどの不測の事態にもデータを複製することが可能です。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

GitLab

GitLabは Gitoliteをブラウザから管理できるようにする Rubyアプリケーションで、 GitHubのようなサービスをクローズドな環境に独自で構築できるように 公開されたものです。

0グッド

0クリップ

投稿2020/05/23 07:37

編集2020/05/23 10:51

前提・実現したいこと

  • ローカルマシンからリモートマシンで動いてるGitLabのバックアップを取得して圧縮する
  • 圧縮形式はzipで名前は圧縮した日付を付ける
  • GitLabのバックアップ取得は成功しています。

追記

  • 該当のソースコードのexec以降を消して実行すると期待した結果(1ファイル見つけた)が返ってきます。
  • execの引数が見つからないとなる理由 と 実現したいこと、の実現方法について知りたいです。

発生している問題・エラーメッセージ

find:execに引数が見つかりません

該当のソースコード

sshpass -p password ssh hoge@192.168.hoge.hoge git-rake gitlab:backup:create gitlab 

sshpass -p password ssh hoge@192.168.hoge.hoge find ../var/opt/gitlab/backups -mtime 0 -exec zip -r-m date +%Y%m%d.zip {} ;

試したこと

  • sshpass -p password ssh hoge@192.168.hoge.hoge find ../var/opt/gitlab/backups -mtime 0 | xargs zip -r-m date +%Y%m%d.zip {} ;

結果: zip error : Invalid command argument

補足情報(FW/ツールのバージョンなど)

CentOS Linux release 7.5

わかる方にはなんでそんなの悩んでるの?というレベルの質問かもしれませんが、何卒宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2020/05/23 09:09

しつもんはなんでしょうか なにをききたいのかわかりません
1297518

2020/05/23 10:51

失礼しました。追記致しました。
guest

回答1

0

ベストアンサー

sshコマンドを通じたあとfindコマンドも通じて-execを実行しているので、一番最後の;に二重エスケープが必要ですね。

なので、

sshpass -p password ssh hoge@192.168.hoge.hoge find ../var/opt/gitlab/backups -mtime 0 -exec zip -r-m `date +%Y%m%d`.zip {} \\;

を実行するとうまく動くのではないかと思います。

投稿2020/05/24 05:24

knskyni

総合スコア17

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

1297518

2020/05/24 05:27

ご指摘の通り二重エスケープすることでうまく動作しました。ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問