언제 내 컴퓨터가 시작됩니까 폴더의 내용을 고유 한 폴더로 옮기고 싶습니다.리눅스 플랫폼에서 3 시간마다 폴더의 내용을 고유 한 폴더로 이동하는 방법은 무엇입니까?
예를 들어, 폴더 "A"는 일부 그림을 가지고 있으며 시작시 새 폴더 "B"로 내용을 이동하려고합니다. 3 시간 후에도 폴더 A의 내용을 새로 만든 폴더 C로 옮기고 싶습니다. 3 시간마다 콘텐츠 보관을 위해 새 폴더를 만들어야합니다. 어느 누구도 도움이 될 수 있습니까?
언제 내 컴퓨터가 시작됩니까 폴더의 내용을 고유 한 폴더로 옮기고 싶습니다.리눅스 플랫폼에서 3 시간마다 폴더의 내용을 고유 한 폴더로 이동하는 방법은 무엇입니까?
예를 들어, 폴더 "A"는 일부 그림을 가지고 있으며 시작시 새 폴더 "B"로 내용을 이동하려고합니다. 3 시간 후에도 폴더 A의 내용을 새로 만든 폴더 C로 옮기고 싶습니다. 3 시간마다 콘텐츠 보관을 위해 새 폴더를 만들어야합니다. 어느 누구도 도움이 될 수 있습니까?
지정한 매개 변수에 따라 백업을 만드는 스크립트를 만들었습니다. 단계에 따라 않는 시스템에 추가하려면
folder_backup
같은으로 절약 할 수있다 ($ chmod +x folder_backup
를 수행하여 스크립트 실행을하는 것을 잊지 마세요).sudo cp folder_backup /usr/local/bin
)에서 명령으로 실행 가능하게하려면이 파일을 /usr/local/bin
으로 복사 할 수 있습니다. 이제 $ ./folder_backup
또는 $ folder_backup
를 입력 (복사 한 경우//usr/local/bin
또는 다른 bin
디렉토리로 이동) 중 하나에 스크립트를 실행할 준비가 된 것입니다.
사용법 :folder_backup FOLDER_NAME [BACKUP_FOLDER_NAME]
(당신이 FOLDER_NAME_Year-Month-Day_Hour:Minutes
에 백업을 저장합니다 지정하지 않을 경우 백업 폴더 이름은 선택 사항입니다 이제 모든 방금 동안 나에 대한 스크립트를 실행해야 할 필요가 있는지
. 예 : while true; do sleep TIME_IN_SECONDS; folder_backup FOLDER_NAME; done
. 지정한 폴더가 비어 있지 않으면 타임 스탬프가 포함 된 백업 폴더가 생성됩니다. 구체적인 경우 TIME_IN_SECONDS
은 10800
이어야하므로 명령은 while true; do sleep 10800; folder_backup A; done
처럼 보일 수 있습니다. 그러나 백업 폴더 이름 지정 알고리즘을 직접 작성하여 다음과 같이 추가 할 수 있습니다. 두 번째 변수 이름은 A
입니다. 백그라운드에서 실행하지 않으려면 &
을 while
루프 (done
이후) 끝에 추가하기 만하면됩니다.
희망이 당신이 추구하는 것입니다!
#crontab -e
@reboot /home/user/startup_script.sh
일정한 간격 :
#crontab -e
* */3 * * * /home/user/interval_script.sh
#!/bin/bash
create_backup() {
# Check if 2 arguments are given to function.
if [ -z ${3+x} ]; then
# Check if folder from which we will make backup exists.
if [ -d ${1} ]; then
echo "Creating backup in ${2} of folder ${1}..."
mkdir -p ${2}
mv ${1}/* ${2}/
echo "Backup stored in ${2}."
else
echo "There is no folder in ${1}!"
exit 1
fi
else
echo "You must specify folder and backup folder name!"
exit 1
fi
}
if [ -z ${2+x} ]; then
# Only main folder specified
main_folder=${1}
date_stamp=`date +%Y-%m-%d_%H:%M`
backup_folder=${main_folder}_"${date_stamp}
elif [ -z ${3+x} ]; then
main_folder=${1}
backup_folder=${2}
else
echo "Specify folder path or folder name and backup folder path!"
exit 1
fi
create_backup ${main_folder} ${backup_folder}
crontab 명령이 쉽게 당신의 필요를 달성하는 데 사용할 수 있습니다, 시작 스크립트에 대한 자세한 설명은 here
재부팅 또는 시작 활동 참고 : 필요에 따라 스크립트를 디자인하십시오.
감사합니다. 내 crontab에 알리는 방법이 효과가 있습니다. 나는 그것을 추적 할 수 없다. –
한 가지 방법은 리디렉션 연산자 (> 또는 >>)를 사용하여 스크립트 로그를 수동으로 파일로 리디렉션 할 수 있습니다. 그렇지 않은 경우 [here] (https://stackoverflow.com/questions/4811738/cron-job-log-how-to-log) 및 [여기] (https :// https://stackoverflow.com/questions/)에서 지정한대로 로그에서 Cron 작업 실행을 찾을 수 있습니다. /unix.stackexchange.co.kr/questions/207/where-are-cron-errors-logged)를 참조하십시오. –
@lifetree 설치가 가능합니까? –
crontab 맨 페이지를 참조하십시오. –
예, cron은 갈 방법입니다 – Cyclonecode
logrotate 또는 이와 유사한 작업과 같은 소리입니다. –