자료출처: https://madlife.co.kr
#!/usr/bin/env python
# frenzy27 at passmail.to
# frenzy at madlife.co.kr
import os
import commands
DATE = commands.getoutput('date "+%Y%m%d"')
BACK_DIR = "/home/DUMP"
MYSQLD = "/usr/local/mysql/"
POSTGRES = "postgres"
# mysql 백업 (root 패스워드를 알경우)
def frenzyMysql(dbhost, dbpass, term):
global DATE, BACK_DIR, MYSQLD
if(os.path.exists(BACK_DIR) == 0):
os.mkdir(BACK_DIR)
os.system("chmod 777 %s" %BACK_DIR)
SHELL = "%s/bin/mysqldump --all-databases -h'%s' -uroot -p'%s' > %s/mysql_%s.dmp" %(MYSQLD, dbhost, dbpass, BACK_DIR, DATE)
os.system(SHELL)
os.system("find %s -ctime +%s -exec rm -f {} \;" %(BACK_DIR,
term))
# mysql 백업 (root 패스워드를 모를 경우)
def frenzyMysqlskipGrant(dbhost, term):
global DATE, BACK_DIR, MYSQLD
if(os.path.exists(BACK_DIR) == 0):
os.mkdir(BACK_DIR)
os.system("chmod 777 %s" %BACK_DIR)
killPid = commands.getoutput("ps ax|grep mysqld|awk -F\" \" '{print $1}'")
killpidList = killPid.split("\n")
for killid in killpidList:
os.system("kill -9 %s" % killid)
os.system("sleep 3")
result = os.system("cd %s;./bin/safe_mysqld --skip-grant &" %MYSQLD)
os.system("sleep 4")
if(result == 0):
SHELL = "%s/bin/mysqldump --all-databases -h'%s' -uroot -p' ' > %s/mysql_%s.dmp" %(MYSQLD, dbhost, BACK_DIR, DATE)
os.system(SHELL)
os.system("%s/bin/mysqladmin -uroot -p' ' flush-privileges" %MYSQLD)
os.system("find %s -ctime +%s -exec rm -f {} \;" %(BACK_DIR, term))
# postgreSQL 백업스크립트
def frenzyPostgreSQL(term):
global DATE, BACK_DIR
if(os.path.exists(BACK_DIR) == 0):
os.mkdir(BACK_DIR)
os.system("chmod 777 %s" %BACK_DIR)
SHELL = "su -l %s -c \"pg_dumpall > pgsql_%s.dmp\"" %(POSTGRES, DATE)
os.system(SHELL)
os.system("mv /usr/local/pgsql/pgsql_%s.dmp %s" %(DATE, BACK_DIR))
os.system("find %s -ctime +%s -exec rm -f {} \;" %(BACK_DIR, term))
# oracle 백업스크립트
def frenzyOracle(dbuser, dbpass, term):
global DATE, BACK_DIR
if(os.path.exists(BACK_DIR) == 0):
os.mkdir(BACK_DIR)
os.system("chmod 777 %s" %BACK_DIR)
SHELL = "su -l oracle -c \"exp %s/%s grants=y file=%s/oracle_%s.dmp\"" %(dbuser, dbpass, BACK_DIR, DATE)
os.system(SHELL)
os.system("find %s -ctime +%s -exec rm -f {} \;" %(BACK_DIR, term))
if __name__ == "__main__":
# mysql dbhost = "localhost", dbpass = "dbpassword", term = "14"
# term 은 백업주기이다. 숫자로 기재한다. 입력할때는 " 로 입력문자열을 감싼다.
#frenzyMysql("localhost", "passwordinput", "6")
#frenzyMysqlskipGrant("localhost", "6")
#frenzyPostgreSQL(term)
#frenzyOracle(dbuser, dbpass, term)
실용적인 디지털 포렌식 기법과 법률 이슈 정리. Linux, UNIX, Python, 임베디드 장치 개발 등의 강좌 수록. Blockchain, FinTech, IoT 등 최신 IT 트렌드와 관련된 취미 자료를 수집하고, 보안 인식 문화 개선을 위한 정보보호 관련 자료와 일상생활 팁들을 소개.
홈페이지 jQuery 라이브러리에서 CVE-2019-11358 취약점 패치 여부 확인 방법
현재 홈페이지에서 사용 중인 jQuery 라이브러리가 CVE-2019-11358 취약점 패치를 적용했는지 확인하는 방법은 다음과 같습니다. 1. jQuery 버전 확인 홈페이지 소스 코드를 확인하여 jQuery 라이브러리 버전을 직접 확인합니다. 웹 ...
-
뉴스출처 : http://news.naver.com/main/read.nhn?mode=LSD&mid=sec&oid=023&aid=0002991158&sid1=001 내 배우자가 바람을 피우는 것이 확실할까. 심증...
-
PHPSCHOOL ( http://www.phpschool.com ) 국내 1위의 PHP 개발자 커뮤니티 사이트이다. PHP Builder ( http://www.phpbuilder.com ) PHP 최고 사이트라고 해도 과언이 아니며, 새로운 P...