기본적인 Linux 명령을 더 잘 배우기 위해 기본 C 파일을 만들고 있습니다. tar 백업 기능을 구현하려고 합니다. 내 쉘에서 작동할 수 있도록 C(아직 C를 배우고 있음)로 구현하려고 합니다.
내 질문은 C에서 디렉토리 백업을 만드는 방법입니다.
이것이 내가 지금까지 가지고 있는 전부입니다(리눅스 명령만)
암호
#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."
.