انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: مشکل با crontab  (دفعات بازدید: 1269 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آنلاین esmaeelE

  • ناظر انجمن
  • *
  • ارسال: 1270
  • جنسیت : پسر
پاسخ : مشکل با crontab
« پاسخ #15 : 12 تیر 1400، 08:17 ب‌ظ »
به راهنمایی‌ها توجه داشته باشید.
خیلی وقت‌ها نمیشه یک ضرب به نتیجه برسید.

ابتدا بررسی کنید سیستم cron کار می‌کند یا نه؟

پیش از هر چیز باید یک برنامه ساده پایتون را با این روش اجرا کنید

محتویات زیر را پس از اجرای crontab -e وارد کنید.
*/1 * * * * echo "print(\"salam\")" | /usr/bin/python3  >> /tmp/hello.log
مانیتور لاگ‌ها کرون
sudo tail -f /var/log/syslog | grep CRON
خروجی برنامه پایتون در فایل زیر خواهد رفت
tail -f  /tmp/hello.logبا اجرای کرون هر دقیقه یک خط salam در فایل نوشته می‌شود.

در صورت موفق آمیز بودن اجرای کرون، صحت خود اسکریپت را بررسی کنید.


آفلاین EnriqueTTE

  • High Sr. Member
  • *
  • ارسال: 607
  • جنسیت : پسر
پاسخ : مشکل با crontab
« پاسخ #16 : 12 تیر 1400، 08:40 ب‌ظ »
با اجرای کرون هر دقیقه یک خط salam در فایل نوشته می‌شود.

در صورت موفق آمیز بودن اجرای کرون، صحت خود اسکریپت را بررسی کنید.

کار کرد، دقیقا چیزی که جلوی زمان اجرای کرون نوشته بودم رو با ترمینال زدم و کار میکرد اما با کرون کار نمیکنه.
این دستور کرون
*/10 * * * * /usr/bin/python3 /home/smjt2000/Programming/Projects/1_top/change-bg.pyاینم فایل پایتون
#! /usr/bin/python3
import random,os
from gi.repository import Gio

images=os.listdir('/home/smjt2000/Pictures/Wallpapers/')

background = Gio.Settings.new('org.gnome.desktop.background')

background.set_string('picture-uri', f'/home/smjt2000/Pictures/Wallpapers/{random.choice(images)}')
I am Enriquette

آنلاین esmaeelE

  • ناظر انجمن
  • *
  • ارسال: 1270
  • جنسیت : پسر
پاسخ : مشکل با crontab
« پاسخ #17 : 12 تیر 1400، 08:58 ب‌ظ »
شاید مشکل از تغییر تصویر با دستور gsettings در cron است.

کامنت این پاسخ را ببینید.

« آخرین ویرایش: 12 تیر 1400، 09:01 ب‌ظ توسط esmaeelE »

آفلاین EnriqueTTE

  • High Sr. Member
  • *
  • ارسال: 607
  • جنسیت : پسر
پاسخ : مشکل با crontab
« پاسخ #18 : 12 تیر 1400، 09:09 ب‌ظ »
شاید مشکل از تغییر تصویر با دستور gsettings در cron است.

کامنت این پاسخ را ببینید.
این با bash نوشته چجوری با پایتون پیاده سازی کنم؟ از os.system استفاده کنم یا راه جایگزین داره ؟
PID=$(pgrep gnome-session)
export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-)
I am Enriquette

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19722
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : مشکل با crontab
« پاسخ #19 : 13 تیر 1400، 04:00 ب‌ظ »
توی این صفحه نوشته بود که mail رو چک کن
https://unix.stackexchange.com/questions/585701/use-crontab-to-invoke-nohup-in-script
چک کردم و دیدم کلی پیام هست : U  84 Cron Daemon        Sat Jul  3 08:18  24/860   Cron <smjt2000@Enriquette
یکیش رو باز کردم و این نوشته بود
Return-Path: <smjt2000@Enriquette>
X-Original-To: smjt2000
Delivered-To: smjt2000@Enriquette
Received: by Enriquette (Postfix, from userid 1000)
id 0DE3223EFE4; Tue, 29 Jun 2021 14:48:02 +0430 (+0430)
From: root@Enriquette (Cron Daemon)
To: smjt2000@Enriquette
Subject: Cron <smjt2000@Enriquette> python3 /home/smjt2000/Programming/Projects/1_top/change-bg.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/home/smjt2000>
X-Cron-Env: <LOGNAME=smjt2000>
Message-Id: <20210629101802.0DE3223EFE4@Enriquette>
Date: Tue, 29 Jun 2021 14:48:02 +0430 (+0430)
X-UID: 6
Status: O


(process:13407): dconf-WARNING **: 14:48:02.013: failed to commit changes to dconf: Cannot autolaunch D-Bus without X11 $DISPLAY
خط آخر رو بخون:
نقل‌قول
(process:13407): dconf-WARNING **: 14:48:02.013: failed to commit changes to dconf: Cannot autolaunch D-Bus without X11 $DISPLAY

حق داره. چون وقتی با کرون اجرا می‌شه، میزکاری وجود نداره که پس‌زمینه‌اش رو عوض کنه.
کرون رو به یه چنین چیزی تغییر بده ببین چه‌طور می‌شه؟
*/10 * * * * export DISPLAY=:0.0; /usr/bin/xhost +; /home/smjt2000/Programming/Projects/1_top/change-bg.py
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین EnriqueTTE

  • High Sr. Member
  • *
  • ارسال: 607
  • جنسیت : پسر
پاسخ : مشکل با crontab
« پاسخ #20 : 13 تیر 1400، 07:52 ب‌ظ »
حق داره. چون وقتی با کرون اجرا می‌شه، میزکاری وجود نداره که پس‌زمینه‌اش رو عوض کنه.
کرون رو به یه چنین چیزی تغییر بده ببین چه‌طور می‌شه؟
*/10 * * * * export DISPLAY=:0.0; /usr/bin/xhost +; /home/smjt2000/Programming/Projects/1_top/change-bg.py
این کار رو هم کردم ولی بازم نشد.
خودم که فایل رو اجرا میکنم کار میکنه ولی این خط توی ترمینال نمایش داده میشه : access control disabled, clients can connect from any host
 یه سرچ زدم و با دستور xhost دیدم فقط smjt200 که کاربر اصلی هست رو داره، روت رو اضافه کردم و ازون به بعد بدون اون پیام کار میکرد اما همچنان با کرون کار نمیکنه.
I am Enriquette

آفلاین EnriqueTTE

  • High Sr. Member
  • *
  • ارسال: 607
  • جنسیت : پسر
پاسخ : مشکل با crontab
« پاسخ #21 : 13 تیر 1400، 10:46 ب‌ظ »
بنظر میاد هردفه که لپ تاپ رو روشن میکنم کرون اجرا میشه اما دیگه ادامه نمیده.
I am Enriquette