เด เดชเตเดธเตเดฑเตเดฑเดฟเตฝ, เดเดเตเดเตพ เดเดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ inotify + createrepo เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดเดชเดฏเตเดเดฟเดเตเดเต เดเดฐเต rpm เดเตผเดเตเดเดฟเดซเดพเดเตเดฑเตเดฑเต เดฑเดฟเดชเตเดชเตเดธเดฟเดฑเตเดฑเดฑเดฟ เดจเตเดเตเดเตเด. เด เดชเตเดชเดพเดเตเดเต httpd เดเดชเดฏเตเดเดฟเดเตเดเต webdav เดตเดดเดฟ เดชเตเดฐเดพเดตเดธเตเดคเตเดเตเดเตพ เด เดชเตโเดฒเตเดกเต เดเตเดฏเตเดฏเตเดจเตเดจเต. เดเดจเตเดคเตเดเตเดฃเตเดเต เด เดชเตเดชเดพเดเตเดเต httpd เดเดจเตเดจเต เดชเตเดธเตเดฑเตเดฑเดฟเดจเตเดฑเต เด เดตเดธเดพเดจเด เดเดดเตเดคเตเด.
เด เดคเดฟเดจเดพเตฝ, RPM เดธเดเดญเดฐเดฃเด เดฎเดพเดคเตเดฐเด เดธเดเดเดเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดชเดฐเดฟเดนเดพเดฐเด เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดเดตเดถเตเดฏเดเดคเดเตพ เดชเดพเดฒเดฟเดเตเดเดฃเด:
-
เดธเต เดเดจเตเดฏเด
-
เดเตผเดเตเดเดฟเดซเดพเดเตโเดฑเตเดฑเต เดฑเดฟเดชเตเดชเตเดธเดฟเดฑเตเดฑเดฑเดฟเดฏเดฟเดฒเตเดเตเดเต เด เดชเตโเดฒเตเดกเต เดเตเดฏเตโเดคเดคเดฟเดจเต เดถเตเดทเด เดเตเดฑเดเตเดเต เดธเตเดเตเดเดจเตเดฑเตเดเตพเดเตเดเตเดณเตเดณเดฟเตฝ เดธเดเดญเดฐเดฃเดฟเดฏเดฟเตฝ เดชเดพเดเตเดเตเดเดฟเดจเตเดฑเต เดฒเดญเตเดฏเดค.
-
เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดฏเดพเดจเตเด เดชเดฐเดฟเดชเดพเดฒเดฟเดเตเดเดพเดจเตเด เดเดณเตเดชเตเดชเดฎเดพเดฃเต
-
เดเดฏเตผเดจเตเดจ เดฒเดญเตเดฏเดค เดเดฃเตเดเดพเดเตเดเดพเดจเตเดณเตเดณ เดเดดเดฟเดตเต
เดเดจเตเดคเตเดเตเดพเดฃเตเดเต
เดธเตเดฃเดเตเดชเตเดชเต เดจเตเดเตเดธเดธเต เด เดฅเดตเดพเดชเตพเดชเตเดชเต : -
เดธเดเดญเดฐเดฃเด
เดธเตเดฃเดเตเดชเตเดชเต เดจเตเดเตเดธเดธเต เด เดฅเดตเดพเดชเตพเดชเตเดชเต เดชเดฒ เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดชเตเดฐเดพเดตเดธเตเดคเตเดเตเดเตพ เดตเดธเตเดคเตเดคเดฏเดฟเดฒเตเดเตเดเต เดจเดฏเดฟเดเตเดเตเดจเตเดจเตเดธเตเดฃเดเตเดชเตเดชเต เดจเตเดเตเดธเดธเต เด เดฅเดตเดพเดชเตพเดชเตเดชเต เดชเดฐเดพเดเดฏเดคเตเดคเดฟเดจเตเดฑเต เดเดฐเตเดฑเตเดฑ เดชเตเดฏเดฟเดจเตเดฑเดพเดฏเดฟ เดฎเดพเดฑเตเด. -
เดเดฏเตผเดจเตเดจ เดฒเดญเตเดฏเดค
เดธเตเดฃเดเตเดชเตเดชเต เดจเตเดเตเดธเดธเต เดจเตฝเดเดชเตเดชเตเดเตเดจเตเดจเต. -
เดชเตพเดชเตเดชเต เดเดฐเต เดเดตเตผ-เดเตปเดเดฟเดจเตเดฏเตผเดกเต เดธเตเดฒเตเดฏเตเดทเตป เดเดฏเดฟ เดเดจเดฟเดเตเดเต เดคเตเดจเตเดจเตเดจเตเดจเต. -
เดชเตเดฐเดพเดตเดธเตเดคเตเดเตเดเตพ
เดธเตเดฃเดเตเดชเตเดชเต เดจเตเดเตเดธเดธเต เดฌเตเดฒเตเดฌเดฟเตฝ เดธเตเดเตเดทเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต. เดชเตเดเตเดเตเดจเตเดจเต เดตเตเดฆเตเดฏเตเดคเดฟ เดฎเตเดเดเตเดเด เดธเดเดญเดตเดฟเดเตเดเดพเตฝ, เดจเดฟเดเตเดเตพเดเตเดเต เดฌเดพเดเตเดเดชเตเดชเต เดเดฒเตเดฒเตเดเตเดเดฟเตฝ เดฌเตเดฒเดฌเต เดชเตเดจเดเดธเตเดฅเดพเดชเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเดฟเดฒเตเดฒ. เดเดเตเดเตพเดเตเดเต เด เดชเดฟเดถเดเต เดเดฃเตเดเดพเดฏเดฟเดฐเตเดจเตเดจเต:ERROR [ForkJoinPool.commonPool-worker-2] *SYSTEM [com.orientechnologies.orient.core.storage](http://com.orientechnologies.orient.core.storage/).fs.OFileClassic - $ANSI{green {db=security}} Error during data read for file 'privilege_5.pcl' 1-th attempt [java.io](http://java.io/).IOException: Bad address
. เดฌเตเดฒเตเดฌเต เดเดฐเดฟเดเตเดเดฒเตเด เดตเตเดฃเตเดเตเดเตเดเตเดเดชเตเดชเตเดเตเดเดฟเดฒเตเดฒ.
เดเดฑเดตเดฟเด เดเตเดกเต
โ เดธเตเดดเตเดธเต เดเตเดกเต เดธเตเดฅเดฟเดคเดฟเดเตเดฏเตเดฏเตเดจเตเดจเต
เดชเตเดฐเดงเดพเดจ เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดเดคเตเดชเตเดฒเต เดเดพเดฃเดชเตเดชเตเดเตเดจเตเดจเต:
#!/bin/bash
source /etc/inotify-createrepo.conf
LOGFILE=/var/log/inotify-createrepo.log
function monitoring() {
inotifywait -e close_write,delete -msrq --exclude ".repodata|.olddata|repodata" "${REPO}" | while read events
do
echo $events >> $LOGFILE
touch /tmp/need_create
done
}
function run_createrepo() {
while true; do
if [ -f /tmp/need_create ];
then
rm -f /tmp/need_create
echo "start createrepo $(date --rfc-3339=seconds)"
/usr/bin/createrepo --update "${REPO}"
echo "finish createrepo $(date --rfc-3339=seconds)"
fi
sleep 1
done
}
echo "Start filesystem monitoring: Directory is $REPO, monitor logfile is $LOGFILE"
monitoring >> $LOGFILE &
run_createrepo >> $LOGFILE &
เดเตปเดธเตเดฑเตเดฑเดฒเตเดทเตป
inotify-createrepo CentOS 7 เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เด เดคเดฟเดฒเตเด เดเดฏเตผเดจเตเดจเดคเดฟเตฝ เดฎเดพเดคเตเดฐเดฎเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเต. CentOS 6-เตฝ เดเดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเดพเตป เดเดดเดฟเดเตเดเดฟเดฒเตเดฒ.
yum -y install yum-plugin-copr
yum copr enable antonpatsev/inotify-createrepo
yum -y install inotify-createrepo
systemctl start inotify-createrepo
เดเตเดพเตบเดซเดฟเดเดฑเตเดทเตป
เดกเดฟเดซเตเตพเดเตเดเดพเดฏเดฟ inotify-createrepo เดเดฐเต เดกเดฏเดฑเดเตเดเดฑเดฟ เดจเดฟเดฐเตเดเตเดทเดฟเดเตเดเตเดจเตเดจเต /var/www/repos/rpm-repo/
.
เดซเดฏเดฒเดฟเตฝ เดจเดฟเดเตเดเตพเดเตเดเต เด เดกเดฏเดฑเดเตเดเดฑเดฟ เดฎเดพเดฑเตเดฑเดพเด /etc/inotify-createrepo.conf.
เดเดชเดฏเตเดเดฟเดเตเดเตเด
เดเดฐเต เดกเดฏเดฑเดเตเดเดฑเดฟเดฏเดฟเดฒเตเดเตเดเต เดเดคเตเดเตเดเดฟเดฒเตเด เดซเดฏเตฝ เดเตเตผเดเตเดเตเดฎเตเดชเตเตพ /var/www/repos/rpm-repo/
inotifywait เดเดฐเต เดซเดฏเตฝ เดธเตเดทเตเดเดฟเดเตเดเตเด /tmp/need_create
. run_createrepo เดซเดเดเตโเดทเตป เด
เดจเดจเตเดคเดฎเดพเดฏ เดฒเตเดชเตเดชเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดเดฏเตเด เดซเดฏเตฝ เดจเดฟเดฐเตเดเตเดทเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต /tmp/need_create
. เดซเดฏเตฝ เดจเดฟเดฒเดตเดฟเดฒเตเดฃเตเดเตเดเตเดเดฟเตฝ, เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเด createrepo --update
.
เดซเดฏเดฒเดฟเตฝ เดเดฐเต เดเตปเดเตเดฐเดฟ เดฆเตเดถเตเดฏเดฎเดพเดเตเด:
/var/www/repos/rpm-repo/ CREATE nginx-1.16.1-1.el7.ngx.x86_64.rpm
start createrepo 2020-03-02 09:46:21+03:00
Spawning worker 0 with 1 pkgs
Spawning worker 1 with 0 pkgs
Spawning worker 2 with 0 pkgs
Spawning worker 3 with 0 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
finish createrepo 2020-03-02 09:46:22+03:00
เดเดฏเตผเดจเตเดจ เดฒเดญเตเดฏเดค เดเดฃเตเดเดพเดเตเดเดพเดจเตเดณเตเดณ เดเดดเดฟเดตเต
เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ เดเดฐเต เดชเดฐเดฟเดนเดพเดฐเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดฏเตผเดจเตเดจ เดฒเดญเตเดฏเดค เดเดฃเตเดเดพเดเตเดเดพเตป, เดจเดฟเดเตเดเตพเดเตเดเต 2 เดธเตเตผเดตเดฑเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเดพเดจเดพเดเตเดฎเตเดจเตเดจเต เดเดพเตป เดเดฐเตเดคเตเดจเตเดจเต, HA-เดฏเตโเดเตเดเต Keepalived, เดเตผเดเตเดเดฟเดซเดพเดเตโเดฑเตเดฑเต เดธเดฎเดจเตเดตเดฏเดคเตเดคเดฟเดจเดพเดฏเดฟ Lsyncd.
เดตเตเดฌเตโเดกเดพเดตเต
เดซเดฏเดฒเตเดเตพ เด เดชเตโเดฒเตเดกเต เดเตเดฏเตเดฏเดพเตป เดจเดฟเดฐเดตเดงเดฟ เดฎเดพเตผเดเดเตเดเดณเตเดฃเตเดเต: SSH, NFS, WebDav. WebDav เดเดฐเต เดเดงเตเดจเดฟเดเดตเตเด เดฒเดณเดฟเดคเดตเตเดฎเดพเดฏ เดเดชเตเดทเดจเดพเดฃเตเดจเตเดจเต เดคเตเดจเตเดจเตเดจเตเดจเต.
WebDav-เดจเต, เดเดเตเดเตพ Apache httpd เดเดชเดฏเตเดเดฟเดเตเดเตเด. เดเดจเตเดคเตเดเตเดฃเตเดเต 2020-เตฝ เด เดชเตเดชเดพเดเตเดเต httpd, nginx เด เดฒเตเดฒ?
Nginx + เดฎเตเดกเตเดฏเตเดณเตเดเตพ เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดเดเตเดเตเดฎเตเดฑเตเดฑเดกเต เดเตเดณเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเดพเตป เดเดพเตป เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเต (เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, Webdav).
Nginx + เดฎเตเดกเตเดฏเตเดณเตเดเตพ เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดเดฐเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดเดฃเตเดเต -
เดเดพเตป เดเดฐเต เดชเตเตพ เด
เดญเตเดฏเตผเดคเตเดฅเดจ เดจเดเดคเตเดคเดฟ
config webdav.conf
DavLockDB /var/www/html/DavLock
<VirtualHost localhost:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog /var/log/httpd/error.log
CustomLog /var/log/httpd/access.log combined
Alias /rpm /var/www/repos/rpm-repo
<Directory /var/www/repos/rpm-repo>
DAV On
Options Indexes FollowSymlinks SymLinksifOwnerMatch IncludesNOEXEC
IndexOptions NameWidth=* DescriptionWidth=*
AllowOverride none
Require all granted
</Directory>
</VirtualHost>
เดฌเดพเดเตเดเดฟเดฏเตเดณเตเดณ เด เดชเตเดชเดพเดเตเดเต httpd เดเตเตบเดซเดฟเดเดฑเตเดทเตป เดจเดฟเดเตเดเตพ เดคเดจเตเดจเต เดเตเดฏเตเดฏเตเดฎเตเดจเตเดจเต เดเดพเตป เดเดฐเตเดคเตเดจเตเดจเต.
เด เดชเตเดชเดพเดเตเดเตเดฏเตเดเต เดฎเตเดจเตเดจเดฟเตฝ Nginx httpd
เด เดชเตเดชเดพเดเตเดเตเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟ, Nginx เดเดฐเต เดเดตเดจเตเดฑเต เด เดเดฟเดธเตเดฅเดพเดจเดฎเดพเดเตเดเดฟเดฏเตเดณเตเดณ เด เดญเตเดฏเตผเดคเตเดฅเดจ เดชเตเดฐเตเดธเดธเตเดธเดฟเดเดเต เดฎเตเดกเตฝ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต, เด เดคเดพเดฏเดคเต เดเดคเตเดฐ เดเตเดฒเดฏเดจเตเดฑเตเดเตพเดเตเดเตเด เดเดฐเต HTTP เดธเตเตผเดตเตผ เดชเตเดฐเตเดธเดธเตเดธเต เดฎเดพเดคเตเดฐเดฎเต เดเดตเดถเตเดฏเดฎเตเดณเตเดณเต เดเดจเตเดจเดพเดฃเต. เดจเดฟเดเตเดเตพเดเตเดเต nginx เดเดชเดฏเตเดเดฟเดเตเดเดพเดจเตเด เดธเตเตผเดตเตผ เดฒเตเดกเต เดเตเดฑเดฏเตเดเตเดเดพเดจเตเด เดเดดเดฟเดฏเตเด.
nginx-front.conf เดเตเตบเดซเดฟเดเดฑเตเดทเตป. เดฌเดพเดเตเดเดฟเดฏเตเดณเตเดณ nginx เดเตเตบเดซเดฟเดเดฑเตเดทเตป เดจเดฟเดเตเดเตพ เดคเดจเตเดจเต เดเตเดฏเตเดฏเตเดฎเตเดจเตเดจเต เดเดพเตป เดเดฐเตเดคเตเดจเตเดจเต.
upstream nginx_front {
server localhost:80;
}
server {
listen 443 ssl;
server_name ะฒะฐั-ะฒะธัััะฐะปัะฝัั
-ั
ะพัั;
access_log /var/log/nginx/nginx-front-access.log main;
error_log /var/log/nginx/nginx-front.conf-error.log warn;
location / {
proxy_pass http://nginx_front;
}
}
WebDav เดตเดดเดฟ เดซเดฏเดฒเตเดเตพ เดกเตเตบเดฒเตเดกเต เดเตเดฏเตเดฏเตเดจเตเดจเต
rpm เดกเตเตบเดฒเตเดกเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเต เดตเดณเดฐเต เดเดณเตเดชเตเดชเดฎเดพเดฃเต.
curl -T ./nginx-1.16.1-1.el7.ngx.x86_64.rpm https://ะฒะฐั-ะฒะธัััะฐะปัะฝัะน-ั
ะพัั/rpm/
เด เดตเดฒเดเดฌเด: www.habr.com