주간 크론 작업은 설치된 패키지 목록을 저장합니다.

주간 크론 작업은 설치된 패키지 목록을 저장합니다.

첫 번째 크론 작업을 설정하는 방법을 알 수 없습니다. 일주일에 한 번만 이 명령을 실행하고 싶습니다.

dpkg -l > ~/Dropbox/installed_packages

/etc/crontab파일에는 다음 줄이 포함되어 있습니다

7 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )

따라서 /etc/cron.weekly 디렉토리 어딘가에 명령을 넣어야 합니다. 그런데 어느 파일에 있습니까? /etc/cron.weekly현재 다음 파일이 포함되어 있습니다:

apt-xapian-index  man-db  0anacron  cvs

답변1

다음 내용으로 파일을 만듭니다(예 list_packages.sh: ).

#!/bin/bash

dpkg -l > ~/Dropbox/installed_packages

이 파일을 넣으면 /etc/cron.weekly/일주일에 한 번씩 실행됩니다.

답변2

예를 들어 다음과 같이 스크립트로 저장합니다 installed_packages_list.sh.

#!/bin/bash
dpkg -l > ~/Dropbox/installed_packages

실행 가능하게 만드세요.

chmod u+x installed_packages_list.sh

그런 다음 실행

crontab -e

그러면 텍스트 편집기에서 파일이 열립니다. 이것을 입력하고 저장하세요

@weekly /full/path/to/script

크론 작업을 예약한 사용자의 권한으로 일주일에 한 번 스크립트가 실행됩니다.

답변3

첫째, 이를 위해 슈퍼유저로 작업을 실행할 필요가 없습니다.

이 문제를 해결하는 가장 쉬운 방법은 일반 사용자의 crontab을 편집하는 것입니다.

crontab -e

편집기 환경 변수에 따라 사용자 crontab이 즐겨 사용하는 텍스트 편집기로 열립니다.

거기에 다음과 같은 것을 추가할 수 있습니다

# m h dom mon dow command
5 12 * * 1 bash $HOME/pkg.backup.sh

그런 다음 dpkg 명령을 사용하여 pkg.backup.sh 파일을 생성해야 합니다.

그런데 컴퓨터의 현재 패키지 상태(패키지 선택이라고도 함)를 쉽게 복원하려면 이 명령줄이 더 목표 지향적입니다.

dpkg --get-selections > foo

복원하려면 다음을 입력하면 됩니다.

dpkg --set-seclections < foo

실제로 dpkg -l은 정확한 패키지 버전 번호를 기록하려는 경우에도 유용합니다.

관련 정보