반응형

참고자료가 정말 많이 도움 되었다.............!

천재 그 잡채이십니다

 

내가 설정할 백업정책

백업 방식 : 압축 백업
백업 파일 삭제 : 5일 후
백업 횟수 / 시간 : 1회 / 오전 4시 
백업 폴더 위치 : /

 

 

백업 폴더 생성 및 권한 설정

root 권한에서 실행

$ mkdir /backup
$ chmod 700 /backup

 

백업 스크립트 작성

여기서 크론이 아닌 쉘스크립트로 작성하는 이유는 순차적인 작업을 해야하기 때문!

$ cd /root
$ vi backup.sh

작성할 스크립트 내용

tar 로 압축, mysqldump로 sql 파일 생성, find로 파일을 찾아 삭제(rm) 처리 한다

#!/bin/bash
tar -czpf /backup/{file name}.`date +%Y%m%d%H%M%S`.tgz {run root} 1>/dev/null 2>/dev/null
mysqldump --extended-insert=FALSE -h{localhost(ip)} -u{DB ID} -p{DB PW} {schema name} > /backup/{file name}.`date +%Y%m%d%H%M%S`.sql
find /backup/ -type f -mtime +5 | sort | xargs rm -f

스크립트 권한 설정 및 테스트 실행

$ chmod 700 backup.sh

// test run
$ ./backup.sh
// check files
$ cd /backup
$ ll -h

 

Cron 설정

$ crontab -e
0 4 * * * /root/backup.sh 1>/dev/null 2>/dev/null

 

설정한 크론시간 이후 확인해보면 파일을 확인 할수 있다

 

 

안녀어어엉(@^^)/~~~

 

 

참고자료

https://blog.lael.be/post/1449

 

Ubuntu 백업 스크립트 작성하기

아래 설명글은 Ubuntu 뿐만 아니라 모든 Linux 배포판에 대해서 공통적으로 실행가능합니다. 서버를 운영하면서, 백업과 보안은 항상 염두해 두어야 하는 사항이다.   리눅스 시스템에서 주기적으

blog.lael.be

 

반응형
반응형

프로젝트 루트에서 gradlew 빌드

$ ./gradlew build

경로 이동

$ cd bulid/libs

ls로 파일을 확인해보면 스냅샷을 확인할수 있다

자바 실행

$ java -jar hello-spring-0.0.1-SNAPSHOT.jar

 

 

참고자료

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

반응형
반응형

기존에 현업에서 사용했던 버전은 8 이였다

SpringBoot 3.0을 사용하려면 17 또는 21을 사용해야하는데 둘중에 뭘로 설치할까 고민하다가

어짜피 새로운 기술 접해야하는거 21로 결정했다

최근에 나온거라 기술지원도 더 널널하기도 하고.. 뭐..

 

Install Java 21

https://www.oracle.com/java/technologies/downloads/#jdk21-windows

 

환경변수 설정

새로 만들기를 클릭하여 아래 두개의 시스템 변수를 생성해준다

Path변수 편집 클릭하여 새로운 Path 추가

 

java --version 확인

 

반응형

'Web/Tool/ETC' 카테고리의 다른 글

리눅스 권한  (0) 2023.11.24
[slick] prevArrow, nextArrow 앞뒤 이동 버튼 위치 변경  (0) 2023.04.28
[ETC] 유효성 검사  (0) 2023.03.28
[JDBC] JDBC 객체 종류 및 처리순서  (0) 2023.03.27
Template Engine 이란?  (0) 2023.03.27
반응형

갑자기 컨트롤 클릭이 안먹혀서 구글링 선생님께 여쭤봄

 

우선 왼쪽 도구중에 EXTENSIONS를 클릭한후 점점점(...)을 클릭한 후

Disable All Installed Extensions를 클릭해서 해제시킨다

VS Code를 종료한 후 다시 실행하여 같은 메뉴에서 Enable All Extensions를 클릭해주면

정상적으로 작동한다

 

 

 

참고자료

https://www.reddit.com/r/vscode/comments/sdg8g9/ctrl_click_go_to_definition_not_working/?rdt=65494

반응형
반응형

PHP와 Laravel은 지원기간이 참 짧은거 같다(2년)

일단 시작하기전에 백업은 필수!

 

8 → 9 업데이트

PHP 8.0 다운로드 및 적용

https://windows.php.net/download#php-8.0

composer.json수정

"php": "^8.1",
"laravel/framework": "^9.0",
"nunomaduro/collision": "^6.1",

 

composer update

$ composer update

오잉...?

SSL 설정에 문제가 있는것인데 php를 새로 다운받으면서 php.ini 파일 수정을 안했기 때문🤨

php.ini-development 파일을 복사해서 php.ini 로 파일명을 수정하고

아래 두군데 주석을 해제해준후 다시 컴포저 업데이트를 한다

extension_dir = "ext"

extension=curl
extension=php_fileinfo
extension=openssl

근데도 에러뜸...

거의 한시간을 헤맸는데 알고보니 composer.json에 추가 수정이 필요했다

 

9 → 10 업데이트

PHP 8.1 다운로드 및 적용

https://windows.php.net/download#php-8.1

composer.json수정

"php": "^8.3",
"laravel/framework": "^10.0",
"laravel/sanctum": "^3.2",
"spatie/laravel-ignition": "^2.0"

"fruitcake/laravel-cors": "^2.0" 삭제

HandleCors 라고 검색해보면 Kernel.php파일에 미들웨어 설정되어있는 부분이 있는데

같이 삭제해주고 \Illuminate\Http\Middleware\HandleCors::class, 를 추가한다

 

 

참고자료

https://codelikes.com/laravel-upgrade/

 

Laravelフレームワークをバージョンアップする方法まとめ!

Laravelのフレームワークをバージョン6からバージョン10まで、バージョンアップする方法について書いています。 基本的には公式ドキュメント(laravel.com)のアップグレード手順に従ってアップ

codelikes.com

https://laravel.com/docs/9.x/upgrade

 

Laravel - The PHP Framework For Web Artisans

Laravel is a PHP web application framework with expressive, elegant syntax. We’ve already laid the foundation — freeing you to create without sweating the small things.

laravel.com

 

반응형
반응형

.env 파일에 담아둔 값을 service단에서 가져올때

env('env명')을 사용할수 있다

이때 에러가 나서 로그를 찍어보니 값이 안가져왔는데 아래 명령어로 해결되었다

$ php artisan optimize:clear

 

이 명령어는 캐시를 삭제하는 명령어인데 아래 명령이 모두 실행되는 명령어라고 한다

$ php artisan clear-compiled
# bootstrap/cache/services.php
# bootstrap/cache/packages.php

$ php artisan config:clear
# bootstrap/cache/config.php

$ php artisan route:clear
# bootstrap/cache/routes.php

$ php artisan view:clear
# storage/framework/views

$ php artisan cache:clear
# storage/framework/cache/data

 

 

# 2024.02.27 내용 추가

위의 내용을 토대로 만약 env('KEY') 값이 불러와지지 않아 null이라면 optimize clear 처리 되도록 아래 코드를 추가했었다

@YourController or YourService ...

//check
if(is_null(env('KEY'))){
    info('env null');
    info(env('KEY'));
    Artisan::call('optimize:clear');
}

...

 

여기서 문제가 생긴게 이후 동작은 익셉션 오류가 발생하는 것이였다

재실행시는 문제가 없었으나 한번은 꼭 에러가 나는것을 고쳐야했다

 

찾아보니 위의 코드는 좋은코드가 아닌 것을 알수있었다

env 값을 불러오기 위해 config/app.php에서 변수 설정을 하고 그 변수값을 가져오는게 베스트인것 같았다

 

반영하여 수정한 코드는 아래와 같다

@app/config/app.php

<?php

return [
...

    /*
    |--------------------------------------------------------------------------
    | Application Environment
    |--------------------------------------------------------------------------
    |
    | This value determines the "environment" your application is currently
    | running in. This may determine how you prefer to configure various
    | services the application utilizes. Set this in your ".env" file.
    |
    */

    'env' => env('APP_ENV', 'production'),
    'client_id' => env('EC_CLIENT_ID'),
    'client_secret' => env('EC_CLIENT_SECRET'),

...
];

@YourController or YourService ...

$key = Config::get('app.key');

//check
if(is_null($key) || is_null($clientSecret)){
    info('env null');
    info($key);
}

...

 

 

참고자료

https://stackoverflow.com/questions/43243732/laravel-env-always-returns-null

 

Laravel - env() always returns null

I try to find out why my env() helper always returns null. This causes trouble especially in app.php file, where are env() helpers widely used by default. Perhaps any mysterious server setting? My...

stackoverflow.com

https://qiita.com/mmmmmmanta/items/1df41c4cbc8e77e15326

 

[Laravel 5.7] キャッシュ系コマンドまとめ - Qiita

artisanコマンドキャッシュ削除php artisan optimize:clearで以下のコマンドが全て実行されます。(パスは初期設定状態で削除されるファイル)php artisan …

qiita.com

https://stackoverflow.com/questions/43243732/laravel-env-always-returns-null

 

Laravel - env() always returns null

I try to find out why my env() helper always returns null. This causes trouble especially in app.php file, where are env() helpers widely used by default. Perhaps any mysterious server setting? My...

stackoverflow.com

 

반응형
반응형

뭐이렇게 할게 많냐 진짜

끝이없네

 

우분투에서 queue 설정을 하기 위해 supervisor를 설치하자

크론탭으로 돌리면 되는거 아님?ㅋ

응 아님...

 

Supervisor는 Laravel 전용은 아니고 Linux OS의 프로세스를 모니터링 및 관리에 활용하는 프로그램이다(라고한다)

 

# Install
$ sudo apt-get install supervisor

 

supervisor 구성 파일은 /etc/supervisor 디렉토리 아래에 저장되며 디렉토리에 있는 파일은 아래 사진과 같다

conf.d/ : 각 프로세스별 설정 파일을 저장하는 공간

supervisord.conf : 설정 파일 작성 방법

$ sudo nano /etc/supervisor/conf.d/laravel-worker.conf
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=/usr/bin/php /var/www/larabel-example/artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
user=root
numprocs=2
redirect_stderr=true
stdout_logfile=/var/www/larabel-example/storage/logs/worker.log

 

적용

# 가져오기
$ sudo supervisorctl reread
# 갱신
$ sudo supervisorctl update
# 실행
$ sudo supervisorctl start laravel-worker:*

# status 확인
$ sudo supervisorctl status

 

 

참고문서

https://reffect.co.jp/laravel/laravel-ubuntu-supervisor

 

【Laravel】UbuntuにSupervisorをインストール | アールエフェクト

Laravelのキューにたまったジョブを処理するためにはワーカーを起動する必要があります。コマンドからワーカーを起動することができますが運用時に停止した場合に自動起動できるようにsup

reffect.co.jp

https://m.blog.naver.com/shino1025/221472860840

 

[Linux] supervisor를 사용하여 지속적으로 실행해야 하는 프로세스 관리하기

리눅스는 운영체제 자체가 서버용으로도 잘 사용되다 보니, 프로세스가 지속적으로 실행될 수 있도록 도와...

blog.naver.com

https://laravel.com/docs/10.x/queues#supervisor-configuration

 

Laravel - The PHP Framework For Web Artisans

Laravel is a PHP web application framework with expressive, elegant syntax. We’ve already laid the foundation — freeing you to create without sweating the small things.

laravel.com

 

반응형

+ Recent posts