본문 바로가기

놀기136

[Shell Script] 시간 설정하기 (grep, head, regex) RTC가 없는가 없거나 시간 유지를 위한 배터리가 없는 시스템의 경우, 리부팅을 하면 시간을 다시 설정해야 한다. PC 메인보드의 배터리가 수명을 다했을 때, 시간 설정을 다시 해줘야 하는 것과 같은 것이라 생각하면 된다. 부팅하여 시간을 받을 NTP 서버가 있거나 시간을 주는 장치가 있다면 모르겠지만, 그렇지 않은 경우 직접 설정해야 한다. 이런 경우 좋은 방법은 아니지만 자구책으로 리부팅 후 시간 설정을 위한 정보 값을 남겨두는 방법을 사용할 수 있다. /tmp/lastdate 파일을 만들어 주기적으로 시간을 업데이트하고 리부팅 후 해당 값을 사용하여 시간 설정을 하는 스크립트를 만들어 보자. 스크립트를 더 예쁘게 만들 수도 있겠지만 목적 달성이 목표이므로 간단히... #!/bin/sh # 먼저 /t.. 2023. 5. 27.
[QT] QCalendarWidget의 paintCell()을 사용하여 선택한 날짜 색상 바꾸기 QCalendarWidget의 paintCell()을 사용하여 선택한 날짜 색상 바꾸기 날짜를 선택하면 addDays() 함수를 호출해서 해당 날짜 색상을 바꿈. #include #include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); m_calendarWidget = new QCalenderColorDateWidget(this); ui->mainVerticalLayout->addWidget(m_calendarWidget); QObject::connect(m_calendarWidg.. 2023. 4. 28.
[QT] 드라이브 목록 출력하기 (QStorageInfo) QStorageInfo를 사용하여 드라이브 목록 출력하기 샘플 코드 #include #include #include #include int run_main() { foreach (const QStorageInfo &storage, QStorageInfo::mountedVolumes()) { if (storage.isValid() && storage.isReady()) { if (!storage.isReadOnly()) { qDebug() 2023. 4. 5.
[Shell Script] 파일 내용 모니터링 프로그램의 출력 내용을 모니터링하면서 특정 문자열이 검색되면 어떤 동작을 해야 할 일이 생겼다. Open Source 프로그램이어서 무식하게 프로그램을 수정하는 것도 방법이겠지만, 무식한 짓이다. 그 프로그램의 출력 결과가 로그 파일로 생성된다면 그 로그 파일을 사용하면 되겠지만 그렇지 않다면 프로그램 실행 시, 리다이렉션을 하여 출력 결과를 파일로 저장할 수 있다. 이렇게 생성된 로그 내용은 다들 알고 있는 tail 명령어를 사용하여 확인할 수 있다. 이 tail의 동작을 활용하여 원하는 기능을 Shell Script로 만들어 보려 한다. 물론, 구글의 도움을 얻어서... ㅎ #!/bin/bash echo "Monitoring ..." tail -n 0 -f log.txt | while read LOG.. 2023. 3. 17.