백업 스크립스 작성법
페이지 정보
작성자 정성규 댓글 5건 조회 8,485회 작성일 21-10-28 13:46본문
https://blog.lael.be/post/1449
기본틀
#!/bin/bash
1 #!/bin/bash
2 tar -czpf (백업할 디렉토리명)/(자신이 사용할 파일명).`date +%Y%m%d%H%M%S`.tgz (백업을 원하는 원하는 파일, 폴더) 1>/dev/null 2>/dev/null
3 find (백업할 디렉토리명) -type f -mtime +14 | sort | xargs rm -f
1) 백업이 저장될 폴더 만들기.
# mkdir /backup
2) 퍼미션 조정
# chmod 700 /backup
3) 백업 스크립트 작성
# cd /root
# vi backup.sh
1 #!/bin/bash
2 tar -czpf media/pcjoin.`date +%Y%m%d%H%M%S`.tgz /var/www/html/pcjoin 1>/dev/null 2>/dev/null
3 find media/save -type f -mtime +14 | sort | xargs rm -f
1 #!/bin/bash
2 tar -czpf (백업할 디렉토리명)/(자신이 사용할 파일명).`date +%Y%m%d%H%M%S`.tgz (백업을 원하는 원하는 파일, 폴더) 1>/dev/null 2>/dev/null
3 find (백업할 디렉토리명) -type f -mtime +14 | sort | xargs rm -f
mysql까지 예시
#!/bin/bash
tar -czpf /media/save/gunung.`date +%Y%m%d%H%M%S`.tgz /var/www/html/gunung 1>/dev/null 2>/dev/null
mysqldump --extended-insert=FALSE -hlocalhost -uroot -ps00000000 gunung > /media/save/gunung.`date +%Y%m%d%H%M%S`.sql
find /backup/ -type f -mtime +10 | sort | xargs rm -f
============== 요약하자면 ================
1 퍼미션 조정 # chmod 700 만들이름.sh
2. 백업옵션을 작성한다 (10일동안 기록 자동 삭제 되고 /media/save 에 pcjoin라는 이름으로 저장)
#!/bin/bash
tar -czpf /media/save/pcjoin.`date +%Y%m%d%H%M%S`.tgz /var/www/html/pcjoin 1>/dev/null 2>/dev/null
mysqldump --extended-insert=FALSE -hlocalhost -uroot -p비번 pcjoin > /media/save/pcjoin.`date +%Y%m%d%H%M%S`.sql
find /media/save/ -type f -mtime +10 | sort | xargs rm -f
예시) 오후 5시 재부팅
0 17 * * * /sbin/shutdown -r now
3. sh등록
/etc/crontab 에 작성한다
예시) 주의 반드시 시행자를 root 지정해야한다
0 3 * * * root /root/pcjoin.sh 1>/dev/null 2>/dev/null
10 3 * * * root /root/joypc.sh 1>/dev/null 2>/dev/null
0 5 * * * root /root/gunung.sh 1>/dev/null 2>/dev/null
0 6 * * * root /root/zzic.sh 1>/dev/null 2>/dev/null
4. 크론탭 명령어
service cron restart 재시작 service cron stop service cron status # 동작 여부 확인 service cron start |
스크립트 명령어
# ./test.sh |
쉘 스크립트 작성
- 스크립트의 가장 첫 줄은 항상 #!로 시작한다.
: #!은, 스크립트가 어떤 쉘로 동작할 지를 지정하는 것이다.
: 리눅스의 쉘 프로그래밍은,
어느 쉘을 사용하더라도 기본적으로는 비슷하게 작성할 수 있지만,
세부적인 부분에서 달라지는 점이 있기 때문에 정확하게 쉘을 지정해 주어야 한다.
- #! 다음에는 본 스크립트를 실행할 인터프리터와 실행 옵션을 지정한다.
: 쉘 스크립트에서는,
#!/bin/csh C 쉘로 동작, #!/bin/bash 배시 쉘로 동작, #!/bin/ksh 콘 쉘로 동작, #!/bin/tcsh TC 쉘로 동작 |
와 같이 쉘의 절대 경로를 써준다.
(전통적인 관습에 의하면, #!만 써 줄 경우, #!/bin/sh로 인식하므로
본 쉘 스크립트 작성 시에는, 첫 줄은 #!/bin/sh나 #!로 하면 된다.)
#!/bin/sh 대개의 경우 시스템 기본 쉘로 동작,
댓글목록
9db3097c님의 댓글
9db3097c 작성일9db3097c님의 댓글
9db3097c 작성일
0 3 * * * root /root/pcjoin.sh 1>/dev/null 2>/dev/null
10 3 * * * root /root/joypc.sh 1>/dev/null 2>/dev/null
0 5 * * * root /root/gunung.sh 1>/dev/null 2>/dev/null
0 6 * * * root /root/zzic.sh 1>/dev/null 2>/dev/null
9db3097c님의 댓글
9db3097c 작성일
#!/bin/bash
tar -czpf /media/save/pcjoin.`date +%Y%m%d%H%M%S`.tgz /var/www/html/pcjoin 1>/dev/null 2>/dev/null
mysqldump --extended-insert=FALSE -hlocalhost -uroot -p비번 pcjoin > /media/save/pcjoin.`date +%Y%m%d%H%M%S`.sql
find /media/save/ -type f -mtime +10 | sort | xargs rm -f
정성규님의 댓글
정성규 작성일
#!/bin/sh
mplayer -fs ./root a.mp4 -loop 0 1>/dev/null 2>/dev/null
31 11 * * * root /root/auto.sh
정성규님의 댓글
정성규 작성일http://melonicedlatte.com/linux/2018/03/15/132041.html