다음 스크립트를 실행하려고 합니다.
#!/bin/sh
pm2 stop process
cd ~/userdata/
tar -czvf backup.tar.gz Config
mv backup.* ~/backups/
pm2 start process
스크립트를 실행할 때 backup.tar.gz 출력 파일은 빈 디렉터리를 제외하지만 명령줄에서 tar 명령을 수동으로 실행하면 해당 디렉터리가 포함됩니다. 나는 스크립트가 비어 있는지 여부에 관계없이 모든 파일과 하위 디렉터리를 포함하기를 원합니다.
편집하다:
를 사용하면 tar --version
다음과 같은 결과가 나타납니다. script 를 사용하여 만든 아카이브에는 tar (GNU tar) 1.34 Copyright (C) 2021 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by John Gilmore and Jay Fenlason.
빈 디렉터리가 존재하지 않으며 수동 명령을 사용하여 만든 아카이브에서 실행하면 해당 디렉터리가 포함됩니다.tar -tvf