분류 전체보기380 웹,데이터베이스 서버 트러블슈팅을 위한 쉘 스크립트 [4] 웹,데이터베이스 서버 트러블슈팅을 위한 쉘 스크립트 [4] 마운트하면 로컬이 아니고 umount 면 로컬 이다? 무슨말? Mount 디스크에 저장하고 (원격의 스토리지인가?) 로컬에 데이터 베이스 백업 파일 삭제 하는건가? 로컬에 있는 /mnt 폴더 검사하는 모니터링 쉘 원격 서버에 mount가 안되면 로컬에 쌓이기 때문…. 1시간에 1번이 아니라 백업이 끝난이후 딱 한번만. 스토리지 서버 트러블 슈팅 쉘 스크립트 Find 명령어 수정시간 기준으로 찾기 현재 시각으로 부터 10이내에 수정이 있었던 파일 찾기 오늘 부터 3일 이전에 수정된 파일 찾기 7일 이전에 만든 파일 찾아서 삭제하기 { } 의미는 앞의 명령어의 결과를 하나씩 for 문 처럼 { }에 넣어서 실행해준다. Find 를 끝내줄때는 \ ; .. 2022. 5. 7. 웹서버 및 mysql DB 백업 쉘스크립트 [3] 웹서버 및 mysql DB 백업 쉘스크립트 [3] ✅백업이란? 웹,데이터베이스 서버에 문제가 발생했을 때 복구를 할 수 있도록 백업을 준비해야한다. ✅tar : 압축하거나 압축을 푸는 툴 ✅mariabackup : 툴. 마리아 db 백업하기 위한 툴. 백업할때 테이블 락을 걸면 안된다. ✅온라인 백업(서비스를 운영하면서 백업) 실행 방법 백업중 인서트, 업데이트, 딜리트 된 데이터는 ib_logfile0 에 저장이 된다. 이 파일을 위의 백업된 파일에 넣는 작업. ✅DB 복구 하기 ✅백업 정책 세우기 ✅백업 스크립트가 해야할일 정리 ✅스크립트 작성 순서 Web 서버 Db 서버 📌[3-1] 웹서버 설정파일 및 웹서버 파일 백업 쉘스크립트 (참고로 storage 에 mount 하는 폴더 mmt 가 아니라 m.. 2022. 3. 23. 디스크 파티션 사용량 모니터링 스크립트[2] 디스크 파티션 사용량 모니터링 스크립트[2] ✅작업내용 ✅디스크 용량 확인 명령어 df -h ✅Use 칼럼의 데이터 구하기 df -h | awk '{print $5}' ✅Use 칼럼의 데이터에서 % 제외하기 (%를 기준으로 자르고 첫번째 줄 print) df -h | awk '{print $5}' | awk -F% '{print $1}' ✅Use 칼럼의 데이터에서 칼럼제목(영어) 제외 df -h | awk '{print $5}' | awk -F% '{print $1}' | grep -v "^[A-Z]" 위의 명령어는 쉘스크립트에서 사용하기에 복잡할 수 있다. ✅gsub 내장함수를 이용한 명령어 df -h | awk '{gsub("%",""); print$5 , $6}' | column -t ✅출력값을 변.. 2022. 3. 23. 서버 운영 필요한 지식 - 트러블 슈팅[1] - (텔레그램 봇 메시지 보내기) 서버 운영 필요한 지식 - 트러블 슈팅[1] - (텔레그램 봇 메시지 보내기) 📌[1] 기본 네트워크 구조 및 정보 서버의 확장 종류 스케일업 : 서버의 스팩을 업그레이드 스케일 아웃 : 서버의 숫자를 늘림 테스트할 서버 정보 #서버 운용중 트러블 관련 중요 포인트 1.트러블 슈팅 2.트러블 방지 3.복구(백업) #웹서버 구축 검증 및 확인 쉘 스크립트 ✅사용 중인 포트 확인 netstat -nltpu ✅시스템에 할당된 포트 확인 cat /etc/services ✅nginx(웹서버)의 로그가 쌓이는 경로 cd /var/log/nginx/ 파일생성하지 않고 명령어에서 실행 ✅서버 로드 높은지 체크 : load average 가 코어수보다 높으면 높다 uptime ✅코어수 스팩 체크 cat /proc/cpu.. 2022. 3. 23. 5.안드로이드 리싸이클러뷰 + [소스코드] 5.안드로이드 리싸이클러뷰 + [소스코드] 0.build.gradle에 의존성 추가 // 리사이클러뷰 implementation "androidx.recyclerview:recyclerview:1.1.0" // For control over item selection of both touch and mouse driven selection implementation "androidx.recyclerview:recyclerview-selection:1.1.0-rc01" // 카드뷰 implementation "androidx.cardview:cardview:1.0.0" 1.데이터 만들기 - drawable에 이미지 데이터를 넣어준다. values 폴더 string.xml 파일에 아래와 같이 작성해준다. R.. 2022. 2. 4. 4.안드로이드 Fragment - navigationBar 작업 + [소스코드] 4.안드로이드 Fragment - navigationBar 작업 + [소스코드] 1.build.gradle에 머테리얼 디자인 추가 //메테리얼 디자인 implementation 'com.google.android.material:material:1.1.0' 2.menu 폴더에 bottom_nav_menu.xml 생성 3.layout폴더에 fragment_home.xml 추가 4.layout폴더에 fragment_play.xml 추가 5.activitiy_main.xml에 frameLayout 추가 프레임레이아웃의 아이디를 fragments_frame 로 준다. 6.Fragmet()를 상속받는 HomeFragment class 작성 package com.example.myapplication.fragmen.. 2022. 2. 3. 3.안드로이드 Intent 데이터와 화면전환 3.안드로이드 Intent 데이터와 화면전환 1.메인 화면에서 버튼과 버튼 이벤트를 추가하고 아래와 같이 작성해준다. //서브화면에서 전달한 데이터를 받기위한 전역변수 private lateinit var getResultText:ActivityResultLauncher //서브화면에서 전달한 데이터 받기 getResultText = registerForActivityResult(ActivityResultContracts.StartActivityForResult()){ result -> if(result.resultCode == RESULT_OK){ val mString = result.data?.getStringExtra("param2") Log.d(Constant.TAG , "registerForAc.. 2022. 2. 2. 2.안드로이드 getSharedPreferences 2.안드로이드 getSharedPreferences 1.데이터 저장하기 // 데이터 저장하기 private fun saveData(){ val pref = getSharedPreferences("pref", 0) val edit = pref.edit() //수정모드 // 첫번째 인자에는 키값, 두번째 인자는 저장할 값 edit.putString("name" , "kkk") edit.apply() } 2.데이터 불러오기 // 데이터 불러오기 private fun loadData(){ val pref = getSharedPreferences("pref", 0) //첫번째 인자는 key, 두번째 인자는 데이터가 존재하지 않을경우 대체값. Log.d(Constant.TAG , "저장된 데이터 : ${pref.g.. 2022. 2. 2. 1.안드로이드 retrofit 사용 따라하기 1.안드로이드 retrofit 따라하기 1.build.gradle에 의존성추가 implementation 'com.squareup.retrofit2:retrofit:2.8.1' implementation 'com.squareup.retrofit2:converter-gson:2.6.4' implementation "com.squareup.okhttp3:logging-interceptor:4.9.3" 2.매니패스트에 설정추가 3.설정 상수 package com.example.myapplication object Constant { const val TAG:String = "로그" } enum class RESPONSE_STATE{ OK, FAIL } // object API{ const val BASE_UR.. 2022. 2. 1. 이전 1 ··· 7 8 9 10 11 12 13 ··· 43 다음