Cでシェルrsyncコマンドを呼び出す

Cでシェルrsyncコマンドを呼び出す

私は基本的なLinuxコマンドを学ぶためにデフォルトのCファイルを作成しています。 tarバックアップ機能を実装しようとしています。私のシェルで動作するようにC(まだCを学んでいる)として実装しようとしています。

私の質問は、Cでディレクトリバックアップを作成する方法です。

これが私が今まで持っているすべてです(Linuxコマンドのみ)

パスワード

#define ROOT /home/network
#define DESTIN /home/network/backups
int shell_backUp(char **args)
{
    printf("Backing Up....");
    rsync -avu $ROOT $DESTIN;
    printf("Back Up complete");
}

ベストアンサー1

次のように試すことができます。

#include<stdio.h>

#define ROOT "/home/network"
#define DESTINY ROOT"/backups"

int main()
{
    printf("Backing Up....\n");
    system("rsync -avu " ROOT " " DESTINY);
    printf("Back Up complete\n");
}

プログラムで呼び出される最初の関数は名前付き関数なので、名前を変更しましたが、名前をmain変更してから関数を呼び出すことができますmain

あなたの用語に引用符がありませんdefine。このsystem関数は、文字列を引数として受け取り、文字列を渡すシェルを呼び出します。

C / C ++では、文字列には文字列の間にスペース/タブ/改行のみが含まれています。たとえば、次のように書くことができます。

const char* str = "The " "quick "
"brown "
"fox.";

あなたは最終的にそれを得るでしょうstr = "The quick brown fox."

おすすめ記事