본문 바로가기
반응형

전체 카테고리147

[ansible] How to set environment variables If you want to use environment variables for all tasks, try like this. This example is for using -p option including password with Special Characters. --- - hosts: all var_files: - group_vars/mwavtst.yml environment: db_password: '{{ mwav_tst_db.password }}' tasks: - name: Full Backup (mysqldump) shell: mysqldump -u {{ mwav_tst_db.user }} -p$db_password --all-databases > /home/user/mwavtst/db_ba.. 2020. 4. 18.
mysqldump -p 옵션 비밀번호에 특수문자가 있을 때 크론이나 쉘스크립트를 개발할 때는 -p 옵션에 비밀번호를 지정할 필요가 있습니다. mysqldump -u root -p abcd!@#$ --all-databases > /backup/backup.sql 그러나 비밀번호에 특수문자가 들어간 경우 Error가 발생합니다. -bash: !@#$: event not found 이를 해결하기 위해서 쉘 변수를 활용합니다. 터미널상에서 아래 명령어를 수행합니다. 정상적으로 mysqldump가 실행되는 걸 확인할 수 있습니다. export db_password='abcd!@#$' mysqldump -u root -p$db_password --all-databases > /backup/backup.sql 2020. 4. 18.
[mysql] 프로시저 생성/수정/실행 권한 주기 1. 프로시저 생성 및 수정 권한 주기 GRANT CREATE, ALTER ROUTINE ON DB명.* TO 'user_id'; FLUSH PRIVILEGES; 2. 특정 프로시저 실행 권한 주기 GRANT EXECUTE ON PROCEDURE `db_name`.`procedure_name` TO 'user_id'@'host' ; FLUSH PRIVILEGES; 2020. 4. 18.
[ansible] fetch 모듈을 사용하여 파일 가져오기 ansible로 원격 서버의 파일을 로컬(ansible 수행하는 서버)에 복사하는 방법을 기술합니다. 우선 제가 개발한 ansible playbooks 구조는 아래와 같습니다. ├── mwav-db-backup-playbooks_v0.2 │ ├── group_vars │ │ ├── mwavtst.yml │ │ └── staging.yml │ ├── roles │ │ ├── mwavtst-db │ │ │ └── tasks │ │ │ ├── full_backup.yml │ │ │ └── main.yml │ │ └── staging-db │ │ └── tasks │ │ ├── base_backup.yml │ │ ├── incremental_backup.yml │ │ ├── init.yml │ │ └── mai.. 2020. 4. 17.
docker로 hadoop 클러스터 (우분투 기반) 구축하기 1. 우분투 컨테이너 설치 docker run -i -t --name hadoop-base ubuntu ctrl + P, Q 로 컨테이너 정지하지 않고 쉘 빠져나오기 가능 단, docker run -it 옵션인 경우에만 가능 2. open jdk 설치 (컨테이너) add-apt-repository ppa:openjdk-r/ppa apt-get update apt-get install openjdk-8-jdk java -version 3. 하둡 설치 (컨테이너) apt-get install wget cd ~ mkdir soft cd soft/ mkdir apache cd apache/ mkdir hadoop cd hadoop/ wget http://mirrors.sonic.net/apache/hadoop/.. 2020. 4. 10.
[DP] 백준 2011 암호코드 (python) DP 알고리즘에서 Top-Down 방식은 재귀호출을 사용한다고 한다. 큰 문제를 작은 문제로 나누어 푸는 방식. 그러나 python은 재귀가 오래 걸리고 메모리 초과가 날 수 있다. 그러니 python은 Bottom-Up 방식을 사용하자. 작은 문제부터 풀고 문제를 점점 크게 만들면서 푼다. a = list(map(int, list(input()))) l = len(a) # dp[i] : i번째 수 단계에서 암호 코드의 개수 dp = [0] * (l+1) if a[0] == 0: # 암호 만들 수 없는 경우 print(0) else : a = [0] + a # 인덱싱을 위해 추가한 0 dp[0] = 1 dp[1] = 1 # 첫번째 수로 이뤄진 암호코드는 1개이다. for i in range(2, l+1).. 2020. 3. 9.
반응형